Add aarch64 Linux as tested platform #577
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Release Latest | |
| on: | |
| push: | |
| branches: | |
| - master | |
| jobs: | |
| update-latest-tag: | |
| name: Update Latest Tag | |
| runs-on: ubuntu-latest | |
| env: | |
| TARGET_RELEASE_ID: 18843342 | |
| GITHUB_ACCESS_TOKEN: "${{ secrets.GITHUB_TOKEN }}" | |
| REPOSITORY: "MitMaro/git-interactive-rebase-tool" | |
| DEFAULT_BRANCH: "master" | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - name: "Update Tag and Title" | |
| run: "./.github/scripts/update-tag.bash" | |
| deb: | |
| name: "Release Latest - ${{ matrix.platform.name }}" | |
| continue-on-error: true | |
| strategy: | |
| matrix: | |
| platform: | |
| - name: ubuntu_arm64 | |
| target: aarch64-unknown-linux-gnu | |
| image: ubuntu:24.04 | |
| - name: ubuntu_amd64 | |
| target: x86_64-unknown-linux-gnu | |
| image: ubuntu:24.04 | |
| - name: debian_arm64 | |
| target: aarch64-unknown-linux-gnu | |
| image: debian:sid-slim | |
| - name: debian_amd64 | |
| target: x86_64-unknown-linux-gnu | |
| image: debian:sid-slim | |
| runs-on: ubuntu-latest | |
| needs: update-latest-tag | |
| timeout-minutes: 10 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Cache | |
| uses: Swatinem/rust-cache@v2 | |
| - uses: dtolnay/rust-toolchain@master | |
| with: | |
| toolchain: nightly | |
| - uses: baptiste0928/cargo-install@v2 | |
| with: | |
| crate: cargo-deb | |
| - name: Build | |
| uses: houseabsolute/actions-rust-cross@v0 | |
| with: | |
| command: build | |
| target: ${{ matrix.platform.target }} | |
| toolchain: nightly | |
| args: "--release --features dev" | |
| - name: "Build Deb" | |
| run: cargo +nightly deb --no-strip --no-build --target ${{ matrix.platform.target }} --output "target/git-interactive-rebase-tool-unstable-${{ matrix.platform.name }}.deb" | |
| - name: Upload | |
| uses: ncipollo/release-action@v1 | |
| with: | |
| tag: latest | |
| allowUpdates: true | |
| artifacts: "target/git-interactive-rebase-tool-unstable-${{ matrix.platform.name }}.deb" | |
| artifactErrorsFailBuild: true | |
| artifactContentType: "application/vnd.debian.binary-package" | |
| replacesArtifacts: true | |
| omitBodyDuringUpdate: true | |
| omitDraftDuringUpdate: true | |
| omitNameDuringUpdate: true | |
| makeLatest: false | |
| prerelease: true | |
| updateOnlyUnreleased: true | |
| linux-other: | |
| name: "Release Latest - ${{ matrix.platform.name }}" | |
| continue-on-error: true | |
| strategy: | |
| matrix: | |
| platform: | |
| # Alpine | |
| - name: alpine-arm64 | |
| target: aarch64-unknown-linux-gnu | |
| features: "zlib-ng-compat" | |
| - name: alpine-amd64 | |
| target: x86_64-unknown-linux-gnu | |
| # Arch | |
| - name: arch-arm64 | |
| target: aarch64-unknown-linux-gnu | |
| features: "zlib-ng-compat" | |
| - name: arch-amd64 | |
| target: x86_64-unknown-linux-gnu | |
| # Fedora | |
| - name: fedora-arm64 | |
| target: aarch64-unknown-linux-gnu | |
| features: "zlib-ng-compat" | |
| - name: fedora-amd64 | |
| target: x86_64-unknown-linux-gnu | |
| # Raspberry PI | |
| - name: pi0-1_arm | |
| target: arm-unknown-linux-gnueabihf | |
| - name: pi2-4_armv7 | |
| target: armv7-unknown-linux-gnueabihf | |
| features: "zlib-ng-compat" | |
| - name: pi5_arm64 | |
| target: aarch64-unknown-linux-gnu | |
| features: "zlib-ng-compat" | |
| needs: update-latest-tag | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Cache | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Build | |
| uses: houseabsolute/actions-rust-cross@v0 | |
| with: | |
| command: build | |
| target: ${{ matrix.platform.target }} | |
| toolchain: nightly | |
| args: "--features 'dev ${{ matrix.platform.features }}'" | |
| - name: "Copy" | |
| run: cp target/${{ matrix.platform.target }}/debug/interactive-rebase-tool target/debug/git-interactive-rebase-tool-unstable-${{ matrix.platform.name }} | |
| - name: Upload | |
| uses: ncipollo/release-action@v1 | |
| with: | |
| tag: latest | |
| allowUpdates: true | |
| artifacts: target/debug/git-interactive-rebase-tool-unstable-${{ matrix.platform.name }} | |
| artifactErrorsFailBuild: true | |
| replacesArtifacts: true | |
| omitBodyDuringUpdate: true | |
| omitDraftDuringUpdate: true | |
| omitNameDuringUpdate: true | |
| makeLatest: false | |
| prerelease: true | |
| updateOnlyUnreleased: true | |
| macos: | |
| name: "Release Latest - macOS_${{ matrix.platform.name }}" | |
| continue-on-error: true | |
| strategy: | |
| matrix: | |
| platform: | |
| - name: arm | |
| target: aarch64-apple-darwin | |
| - name: intel | |
| target: x86_64-apple-darwin | |
| runs-on: macos-latest | |
| timeout-minutes: 10 | |
| needs: update-latest-tag | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - uses: dtolnay/rust-toolchain@nightly | |
| with: | |
| toolchain: nightly | |
| targets: ${{ matrix.platform.target }} | |
| - name: "Build" | |
| run: | | |
| cargo build --features dev --target ${{ matrix.platform.target }} | |
| cp target/${{ matrix.platform.target }}/debug/interactive-rebase-tool target/git-interactive-rebase-tool-unstable-macos_${{ matrix.platform.name }} | |
| - name: Upload | |
| uses: ncipollo/release-action@v1 | |
| with: | |
| tag: latest | |
| allowUpdates: true | |
| artifacts: target/git-interactive-rebase-tool-unstable-macos_${{ matrix.platform.name }} | |
| artifactErrorsFailBuild: true | |
| replacesArtifacts: true | |
| omitBodyDuringUpdate: true | |
| omitDraftDuringUpdate: true | |
| omitNameDuringUpdate: true | |
| makeLatest: false | |
| prerelease: true | |
| updateOnlyUnreleased: true | |
| windows: | |
| name: "Release Latest - Windows_${{ matrix.platform.name }}" | |
| continue-on-error: true | |
| strategy: | |
| matrix: | |
| platform: | |
| - name: arm64 | |
| target: aarch64-pc-windows-msvc | |
| - name: x64 | |
| target: x86_64-pc-windows-msvc | |
| runs-on: windows-latest | |
| timeout-minutes: 10 | |
| needs: update-latest-tag | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| toolchain: stable | |
| targets: ${{ matrix.platform.target }} | |
| - name: "Build" | |
| run: | | |
| cargo rustc --target ${{ matrix.platform.target }} --release --bin interactive-rebase-tool | |
| copy target/${{ matrix.platform.target }}/release/interactive-rebase-tool.exe target/git-interactive-rebase-tool-unstable-windows_${{ matrix.platform.name }}.exe | |
| - name: Upload | |
| uses: ncipollo/release-action@v1 | |
| with: | |
| tag: latest | |
| allowUpdates: true | |
| artifacts: "target/git-interactive-rebase-tool-unstable-windows_${{ matrix.platform.name }}.exe" | |
| artifactErrorsFailBuild: true | |
| replacesArtifacts: true | |
| omitBodyDuringUpdate: true | |
| omitDraftDuringUpdate: true | |
| omitNameDuringUpdate: true | |
| makeLatest: false | |
| prerelease: true | |
| updateOnlyUnreleased: true |