difftreelog
ci rework build target list
in: master
1 file changed
.github/workflows/release.ymldiffbeforeafterboth54 strategy:54 strategy:55 matrix:55 matrix:56 target:56 target:57 # Linux build notes:58 # While musl targets are not as supported as gnu, those are most relevant to users,59 # which want to download binaries from github, as glibc has compatibility issues60 # with older distros6157 # Tier 162 # Tier 158 - aarch64-unknown-linux-gnu63 - i686-pc-windows-msvc59 - i686-unknown-linux-gnu64 - x86_64-apple-darwin60 - x86_64-unknown-linux-gnu65 - x86_64-pc-windows-msvc6667 # Tier 261 - x86_64-apple-darwin68 - aarch64-apple-darwin62 - i686-pc-windows-msvc69 - aarch64-unknown-linux-musl63 - x86_64-pc-windows-msvc70 - i686-unknown-linux-musl6465 # Other66 - x86_64-unknown-linux-musl71 - x86_64-unknown-linux-musl67 include:72 include:73 # Linux68 - target: aarch64-unknown-linux-gnu74 - target: aarch64-unknown-linux-musl69 os: ubuntu-latest75 os: ubuntu-latest70 bin: jrsonnet76 bin: jrsonnet71 name: jrsonnet-linux-gnu-aarch6477 name: jrsonnet-linux-aarch6472 - target: i686-pc-windows-msvc78 - target: i686-unknown-linux-musl73 os: windows-latest79 os: ubuntu-latest74 bin: jrsonnet.exe80 bin: jrsonnet75 name: jrsonnet-windows-msvc-i686.exe81 name: jrsonnet-linux-gnu-i68676 - target: i686-unknown-linux-gnu82 - target: x86_64-unknown-linux-musl77 os: ubuntu-latest83 os: ubuntu-latest78 bin: jrsonnet84 bin: jrsonnet79 name: jrsonnet-linux-gnu-i68685 name: jrsonnet-linux-gnu-amd648687 # Windows80 - target: x86_64-apple-darwin88 - target: i686-pc-windows-msvc81 os: macOS-latest89 os: windows-latest82 bin: jrsonnet90 bin: jrsonnet.exe83 name: jrsonnet-darwin-amd6491 name: jrsonnet-windows-i686.exe84 - target: x86_64-pc-windows-msvc92 - target: x86_64-pc-windows-msvc85 os: windows-latest93 os: windows-latest86 bin: jrsonnet.exe94 bin: jrsonnet.exe87 name: jrsonnet-windows-msvc-amd64.exe95 name: jrsonnet-windows-amd64.exe9697 # Apple88 - target: x86_64-unknown-linux-gnu98 - target: aarch64-apple-darwin89 os: ubuntu-latest99 os: macOS-latest90 bin: jrsonnet100 bin: jrsonnet91 name: jrsonnet-linux-gnu-amd64101 name: jrsonnet-darwin-aarch649293 - target: x86_64-unknown-linux-musl102 - target: x86_64-apple-darwin94 os: ubuntu-latest103 os: macOS-latest95 bin: jrsonnet104 bin: jrsonnet96 name: jrsonnet-linux-static-amd64105 name: jrsonnet-darwin-amd6497 runs-on: ${{ matrix.os }}106 runs-on: ${{ matrix.os }}98 steps:107 steps:99 - name: Install stable toolchain108 - name: Install stable toolchain111 run: echo 'EXPERIMENTAL_FLAGS=--features=experimental' >> $GITHUB_ENV120 run: echo 'EXPERIMENTAL_FLAGS=--features=experimental' >> $GITHUB_ENV112121113 - name: Linux x86 cross compiler122 - name: Linux x86 cross compiler114 if: ${{ matrix.target == 'i686-unknown-linux-gnu' }}123 if: ${{ startsWith(matrix.target, 'i686-unknown-linux-') }}115 run: sudo apt install gcc-multilib124 run: sudo apt install gcc-multilib116117 - name: Musl gcc118 if: ${{ endsWith(matrix.target, '-musl') }}119 run: sudo apt install musl musl-tools120125121 - name: ARM cross compiler126 - name: ARM cross compiler122 if: ${{ startsWith(matrix.target, 'aarch64-unknown-linux-') }}127 if: ${{ startsWith(matrix.target, 'aarch64-unknown-linux-') }}129 if: ${{ startsWith(matrix.target, 'aarch64-unknown-linux-') }}134 if: ${{ startsWith(matrix.target, 'aarch64-unknown-linux-') }}130 run: sudo apt install gcc-aarch64-linux-gnu135 run: sudo apt install gcc-aarch64-linux-gnu131136132 - name: Run ARM build137 - name: Musl gcc133 if: ${{ startsWith(matrix.target, 'aarch64-unknown-linux-') }}138 if: ${{ endsWith(matrix.target, '-musl') }}134 shell: bash135 run: cross build --bin=jrsonnet --release --target ${{ matrix.target }} ${{ env.EXPERIMENTAL_FLAGS }}139 run: sudo apt install musl musl-tools136140137 - name: Run ARM strip141 - name: Run cross build138 if: ${{ startsWith(matrix.target, 'aarch64-unknown-linux-') }}142 if: ${{ startsWith(matrix.target, 'aarch64-unknown-linux-') }}139 shell: bash143 shell: bash140 run: aarch64-linux-gnu-strip target/${{ matrix.target }}/release/${{ matrix.bin }}144 run: cross build --bin=jrsonnet --release --target ${{ matrix.target }} ${{ env.EXPERIMENTAL_FLAGS }}141145142 - name: Run build146 - name: Run build143 if: ${{ !startsWith(matrix.target, 'aarch64-unknown-linux-') }}147 if: ${{ !startsWith(matrix.target, 'aarch64-unknown-linux-') }}146 command: build150 command: build147 args: --bin=jrsonnet --release --target ${{ matrix.target }} ${{ env.EXPERIMENTAL_FLAGS }}151 args: --bin=jrsonnet --release --target ${{ matrix.target }} ${{ env.EXPERIMENTAL_FLAGS }}148149 - name: Run strip150 if: ${{ !startsWith(matrix.target, 'aarch64-unknown-linux-') }}151 shell: bash152 run: strip target/${{ matrix.target }}/release/${{ matrix.bin }}153152154 - name: Package153 - name: Package155 shell: bash154 shell: bash