diff options
author | Artur <github2@artursterz.de> | 2022-11-05 16:46:11 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-05 16:46:11 +0100 |
commit | a172b184284f448819f74fa968ef3677c8d297d0 (patch) | |
tree | 67cbd1e1e29f174c35b15a16706d5967af017c1d /.github | |
parent | a4943224bd712969943a4f8ca0ebc7e63bed0768 (diff) |
Add Linux targets for ARM, ARMv7 and AARCH64 (#1419)
Diffstat (limited to '.github')
-rw-r--r-- | .github/workflows/cd.yml | 28 | ||||
-rw-r--r-- | .github/workflows/ci.yml | 43 |
2 files changed, 66 insertions, 5 deletions
diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index c4c91350..7190dd21 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -10,9 +10,9 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, macos-latest, windows-latest] + os: [ubuntu-latest, macos-latest, windows-latest, ubuntu-22.04] runs-on: ${{ matrix.os }} - + steps: - uses: actions/checkout@v2 @@ -29,10 +29,13 @@ jobs: components: clippy - name: Build + if: matrix.os != 'ubuntu-22.04' run: cargo build - name: Run tests + if: matrix.os != 'ubuntu-22.04' run: make test - name: Run clippy + if: matrix.os != 'ubuntu-22.04' run: | cargo clean make clippy @@ -43,6 +46,22 @@ jobs: rustup target add x86_64-unknown-linux-musl sudo apt-get -qq install musl-tools + - name: Setup ARM toolchain + if: matrix.os == 'ubuntu-22.04' + run: | + rustup target add aarch64-unknown-linux-gnu + rustup target add armv7-unknown-linux-gnueabihf + rustup target add arm-unknown-linux-gnueabihf + + curl -o $GITHUB_WORKSPACE/aarch64.tar.xz https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-a/8.2-2018.08/gcc-arm-8.2-2018.08-x86_64-aarch64-linux-gnu.tar.xz + curl -o $GITHUB_WORKSPACE/arm.tar.xz https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-a/8.2-2018.08/gcc-arm-8.2-2018.08-x86_64-arm-linux-gnueabihf.tar.xz + + tar xf $GITHUB_WORKSPACE/aarch64.tar.xz + tar xf $GITHUB_WORKSPACE/arm.tar.xz + + echo "$GITHUB_WORKSPACE/gcc-arm-8.2-2018.08-x86_64-aarch64-linux-gnu/bin" >> $GITHUB_PATH + echo "$GITHUB_WORKSPACE/gcc-arm-8.2-2018.08-x86_64-arm-linux-gnueabihf/bin" >> $GITHUB_PATH + - name: Build Release Mac if: matrix.os == 'macos-latest' run: make release-mac @@ -52,6 +71,9 @@ jobs: - name: Build Release Win if: matrix.os == 'windows-latest' run: make release-win + - name: Build Release Linux ARM + if: matrix.os == 'ubuntu-22.04' + run: make release-linux-arm - name: Set SHA if: matrix.os == 'macos-latest' @@ -72,7 +94,7 @@ jobs: ./release/*.tar.gz ./release/*.zip ./release/*.msi - + env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6a38b505..4bddddf5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -67,7 +67,7 @@ jobs: if: matrix.os != 'windows-latest' run: | ls -l ./target/release/gitui - + - name: Binary Size (win) if: matrix.os == 'windows-latest' run: | @@ -120,6 +120,45 @@ jobs: run: | make test-linux-musl + build-linux-arm: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + rust: [nightly, stable, '1.60'] + continue-on-error: ${{ matrix.rust == 'nightly' }} + steps: + - uses: actions/checkout@master + - name: Install Rust + uses: actions-rs/toolchain@v1 + with: + toolchain: ${{ matrix.rust }} + profile: minimal + default: true + override: true + - name: Setup ARM toolchain + run: | + rustup target add aarch64-unknown-linux-gnu + rustup target add armv7-unknown-linux-gnueabihf + rustup target add arm-unknown-linux-gnueabihf + + curl -o $GITHUB_WORKSPACE/aarch64.tar.xz https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-a/8.2-2018.08/gcc-arm-8.2-2018.08-x86_64-aarch64-linux-gnu.tar.xz + curl -o $GITHUB_WORKSPACE/arm.tar.xz https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-a/8.2-2018.08/gcc-arm-8.2-2018.08-x86_64-arm-linux-gnueabihf.tar.xz + + tar xf $GITHUB_WORKSPACE/aarch64.tar.xz + tar xf $GITHUB_WORKSPACE/arm.tar.xz + + echo "$GITHUB_WORKSPACE/gcc-arm-8.2-2018.08-x86_64-aarch64-linux-gnu/bin" >> $GITHUB_PATH + echo "$GITHUB_WORKSPACE/gcc-arm-8.2-2018.08-x86_64-arm-linux-gnueabihf/bin" >> $GITHUB_PATH + + - name: Build Debug + run: | + make build-linux-arm-debug + - name: Build Release + run: | + make build-linux-arm-release + ls -l ./target/aarch64-unknown-linux-gnu/release/gitui || ls -l ./target/armv7-unknown-linux-gnueabihf/release/gitui || ls -l ./target/arm-unknown-linux-gnueabihf/release/gitui + linting: name: Lints runs-on: ubuntu-latest @@ -131,7 +170,7 @@ jobs: toolchain: stable override: true components: rustfmt - + - run: cargo fmt -- --check - name: cargo-sort |