summaryrefslogtreecommitdiffstats
path: root/.github
diff options
context:
space:
mode:
authorArtur <github2@artursterz.de>2022-11-05 16:46:11 +0100
committerGitHub <noreply@github.com>2022-11-05 16:46:11 +0100
commita172b184284f448819f74fa968ef3677c8d297d0 (patch)
tree67cbd1e1e29f174c35b15a16706d5967af017c1d /.github
parenta4943224bd712969943a4f8ca0ebc7e63bed0768 (diff)
Add Linux targets for ARM, ARMv7 and AARCH64 (#1419)
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/cd.yml28
-rw-r--r--.github/workflows/ci.yml43
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