git.delta.rocks / jrsonnet / refs/commits / c7d58a27dd40

difftreelog

ci rework build target list

Yaroslav Bolyukin2022-05-26parent: #9f8d4fc.patch.diff
in: master

1 file changed

modified.github/workflows/release.ymldiffbeforeafterboth
before · .github/workflows/release.yml
1name: CI23on: [push]45jobs:6  test:7    name: Test Suite8    runs-on: ubuntu-latest9    steps:10      - name: Checkout sources11        uses: actions/checkout@v212      - name: Install stable toolchain13        uses: actions-rs/toolchain@v114        with:15          toolchain: stable16          override: true17      - name: Run tests18        uses: actions-rs/cargo@v119        with:20          command: test21          args: --all2223  cargo-release:24    if: startsWith(github.ref, 'refs/tags/') && !endsWith(github.ref, '-test')25    needs: [test]26    runs-on: ubuntu-latest27    steps:28      - name: Checkout sources29        uses: actions/checkout@v230      - name: Install stable toolchain31        uses: actions-rs/toolchain@v132        with:33          toolchain: stable34          override: true35      - name: Install cargo release command36        uses: actions-rs/cargo@v137        with:38          command: install39          args: cargo-release40      - name: Run cargo login41        uses: actions-rs/cargo@v142        with:43          command: login44          args: ${{ secrets.CARGO_TOKEN }}45      - name: Publish crates46        uses: actions-rs/cargo@v147        with:48          command: release49          args: --no-dev-version --skip-push --skip-tag --no-confirm5051  github-release:52    if: startsWith(github.ref, 'refs/tags/')53    needs: [test]54    strategy:55      matrix:56        target:57          # Tier 158          - aarch64-unknown-linux-gnu59          - i686-unknown-linux-gnu60          - x86_64-unknown-linux-gnu61          - x86_64-apple-darwin62          - i686-pc-windows-msvc63          - x86_64-pc-windows-msvc6465          # Other66          - x86_64-unknown-linux-musl67        include:68          - target: aarch64-unknown-linux-gnu69            os: ubuntu-latest70            bin: jrsonnet71            name: jrsonnet-linux-gnu-aarch6472          - target: i686-pc-windows-msvc73            os: windows-latest74            bin: jrsonnet.exe75            name: jrsonnet-windows-msvc-i686.exe76          - target: i686-unknown-linux-gnu77            os: ubuntu-latest78            bin: jrsonnet79            name: jrsonnet-linux-gnu-i68680          - target: x86_64-apple-darwin81            os: macOS-latest82            bin: jrsonnet83            name: jrsonnet-darwin-amd6484          - target: x86_64-pc-windows-msvc85            os: windows-latest86            bin: jrsonnet.exe87            name: jrsonnet-windows-msvc-amd64.exe88          - target: x86_64-unknown-linux-gnu89            os: ubuntu-latest90            bin: jrsonnet91            name: jrsonnet-linux-gnu-amd649293          - target: x86_64-unknown-linux-musl94            os: ubuntu-latest95            bin: jrsonnet96            name: jrsonnet-linux-static-amd6497    runs-on: ${{ matrix.os }}98    steps:99      - name: Install stable toolchain100        uses: actions-rs/toolchain@v1101        with:102          toolchain: stable103          override: true104          target: ${{ matrix.target }}105106      - name: Checkout107        uses: actions/checkout@v2108109      - name: Add experimental flags110        if: ${{ endsWith(github.ref, '-test' )}}111        run: echo 'EXPERIMENTAL_FLAGS=--features=experimental' >> $GITHUB_ENV112113      - name: Linux x86 cross compiler114        if: ${{ matrix.target == 'i686-unknown-linux-gnu' }}115        run: sudo apt install gcc-multilib116117      - name: Musl gcc118        if: ${{ endsWith(matrix.target, '-musl') }}119        run: sudo apt install musl musl-tools120121      - name: ARM cross compiler122        if: ${{ startsWith(matrix.target, 'aarch64-unknown-linux-') }}123        uses: actions-rs/cargo@v1124        with:125          command: install126          args: cross127128      - name: ARM gcc129        if: ${{ startsWith(matrix.target, 'aarch64-unknown-linux-') }}130        run: sudo apt install gcc-aarch64-linux-gnu131132      - name: Run ARM build133        if: ${{ startsWith(matrix.target, 'aarch64-unknown-linux-') }}134        shell: bash135        run: cross build --bin=jrsonnet --release --target ${{ matrix.target }} ${{ env.EXPERIMENTAL_FLAGS }}136137      - name: Run ARM strip138        if: ${{ startsWith(matrix.target, 'aarch64-unknown-linux-') }}139        shell: bash140        run: aarch64-linux-gnu-strip target/${{ matrix.target }}/release/${{ matrix.bin }}141142      - name: Run build143        if: ${{ !startsWith(matrix.target, 'aarch64-unknown-linux-') }}144        uses: actions-rs/cargo@v1145        with:146          command: build147          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 }}153154      - name: Package155        shell: bash156        run: |157          cd target/${{ matrix.target }}/release158159          cp ${{ matrix.bin }} ../../../${{ matrix.name }}160          cd -161162      - name: Generate SHA-256163        run: shasum -a 256 ${{ matrix.name }} > ${{ matrix.name }}.sha256164165      - name: Publish166        uses: softprops/action-gh-release@v1167        with:168          draft: true169          files: "jrsonnet*"170        env:171          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
after · .github/workflows/release.yml
1name: CI23on: [push]45jobs:6  test:7    name: Test Suite8    runs-on: ubuntu-latest9    steps:10      - name: Checkout sources11        uses: actions/checkout@v212      - name: Install stable toolchain13        uses: actions-rs/toolchain@v114        with:15          toolchain: stable16          override: true17      - name: Run tests18        uses: actions-rs/cargo@v119        with:20          command: test21          args: --all2223  cargo-release:24    if: startsWith(github.ref, 'refs/tags/') && !endsWith(github.ref, '-test')25    needs: [test]26    runs-on: ubuntu-latest27    steps:28      - name: Checkout sources29        uses: actions/checkout@v230      - name: Install stable toolchain31        uses: actions-rs/toolchain@v132        with:33          toolchain: stable34          override: true35      - name: Install cargo release command36        uses: actions-rs/cargo@v137        with:38          command: install39          args: cargo-release40      - name: Run cargo login41        uses: actions-rs/cargo@v142        with:43          command: login44          args: ${{ secrets.CARGO_TOKEN }}45      - name: Publish crates46        uses: actions-rs/cargo@v147        with:48          command: release49          args: --no-dev-version --skip-push --skip-tag --no-confirm5051  github-release:52    if: startsWith(github.ref, 'refs/tags/')53    needs: [test]54    strategy:55      matrix: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 distros6162          # Tier 163          - i686-pc-windows-msvc64          - x86_64-apple-darwin65          - x86_64-pc-windows-msvc6667          # Tier 268          - aarch64-apple-darwin69          - aarch64-unknown-linux-musl70          - i686-unknown-linux-musl71          - x86_64-unknown-linux-musl72        include:73          # Linux74          - target: aarch64-unknown-linux-musl75            os: ubuntu-latest76            bin: jrsonnet77            name: jrsonnet-linux-aarch6478          - target: i686-unknown-linux-musl79            os: ubuntu-latest80            bin: jrsonnet81            name: jrsonnet-linux-gnu-i68682          - target: x86_64-unknown-linux-musl83            os: ubuntu-latest84            bin: jrsonnet85            name: jrsonnet-linux-gnu-amd648687          # Windows88          - target: i686-pc-windows-msvc89            os: windows-latest90            bin: jrsonnet.exe91            name: jrsonnet-windows-i686.exe92          - target: x86_64-pc-windows-msvc93            os: windows-latest94            bin: jrsonnet.exe95            name: jrsonnet-windows-amd64.exe9697          # Apple98          - target: aarch64-apple-darwin99            os: macOS-latest100            bin: jrsonnet101            name: jrsonnet-darwin-aarch64102          - target: x86_64-apple-darwin103            os: macOS-latest104            bin: jrsonnet105            name: jrsonnet-darwin-amd64106    runs-on: ${{ matrix.os }}107    steps:108      - name: Install stable toolchain109        uses: actions-rs/toolchain@v1110        with:111          toolchain: stable112          override: true113          target: ${{ matrix.target }}114115      - name: Checkout116        uses: actions/checkout@v2117118      - name: Add experimental flags119        if: ${{ endsWith(github.ref, '-test' )}}120        run: echo 'EXPERIMENTAL_FLAGS=--features=experimental' >> $GITHUB_ENV121122      - name: Linux x86 cross compiler123        if: ${{ startsWith(matrix.target, 'i686-unknown-linux-') }}124        run: sudo apt install gcc-multilib125126      - name: ARM cross compiler127        if: ${{ startsWith(matrix.target, 'aarch64-unknown-linux-') }}128        uses: actions-rs/cargo@v1129        with:130          command: install131          args: cross132133      - name: ARM gcc134        if: ${{ startsWith(matrix.target, 'aarch64-unknown-linux-') }}135        run: sudo apt install gcc-aarch64-linux-gnu136137      - name: Musl gcc138        if: ${{ endsWith(matrix.target, '-musl') }}139        run: sudo apt install musl musl-tools140141      - name: Run cross build142        if: ${{ startsWith(matrix.target, 'aarch64-unknown-linux-') }}143        shell: bash144        run: cross build --bin=jrsonnet --release --target ${{ matrix.target }} ${{ env.EXPERIMENTAL_FLAGS }}145146      - name: Run build147        if: ${{ !startsWith(matrix.target, 'aarch64-unknown-linux-') }}148        uses: actions-rs/cargo@v1149        with:150          command: build151          args: --bin=jrsonnet --release --target ${{ matrix.target }} ${{ env.EXPERIMENTAL_FLAGS }}152153      - name: Package154        shell: bash155        run: |156          cd target/${{ matrix.target }}/release157158          cp ${{ matrix.bin }} ../../../${{ matrix.name }}159          cd -160161      - name: Generate SHA-256162        run: shasum -a 256 ${{ matrix.name }} > ${{ matrix.name }}.sha256163164      - name: Publish165        uses: softprops/action-gh-release@v1166        with:167          draft: true168          files: "jrsonnet*"169        env:170          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}