Merge pull request #107 from rust-mobile/rib/pr/consolidate-more-inpu… #205
This file contains 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: ci | |
on: | |
push: | |
branches: [main] | |
pull_request: | |
env: | |
CARGO_INCREMENTAL: 0 | |
RUSTFLAGS: "-C debuginfo=0 --deny warnings" | |
RUSTDOCFLAGS: -Dwarnings | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
# XXX: We are currently constrained by Winit's MSRV policy + CI system | |
# See Cargo.toml for details | |
rust_version: [1.64.0, stable] | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: hecrj/setup-rust-action@v1 | |
with: | |
rust-version: ${{ matrix.rust_version }} | |
- name: Install Rust targets | |
run: > | |
rustup target add | |
aarch64-linux-android | |
armv7-linux-androideabi | |
x86_64-linux-android | |
i686-linux-android | |
- name: Install cargo-ndk | |
# XXX: We have to use an old version of cargo-ndk that supports the | |
# libgcc linker workaround for rust < 1.68 because Winit's CI system | |
# currently requires this crate to be buildable with 1.64 | |
run: cargo install cargo-ndk --version "^2" | |
- name: Setup Java | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: '17' | |
- name: Setup Android SDK | |
uses: android-actions/setup-android@v2 | |
- name: Build game-activity | |
working-directory: android-activity | |
run: > | |
cargo ndk | |
-t arm64-v8a | |
-t armeabi-v7a | |
-t x86_64 | |
-t x86 | |
build --features game-activity | |
- name: Build native-activity | |
working-directory: android-activity | |
run: > | |
cargo ndk | |
-t arm64-v8a | |
-t armeabi-v7a | |
-t x86_64 | |
-t x86 | |
build --features native-activity | |
- name: Build agdk-mainloop example | |
if: matrix.rust_version == 'stable' | |
working-directory: examples/agdk-mainloop | |
run: > | |
cargo ndk | |
-t arm64-v8a | |
-t armeabi-v7a | |
-t x86_64 | |
-t x86 | |
-o app/src/main/jniLibs/ -- build | |
- name: Build na-mainloop example | |
if: matrix.rust_version == 'stable' | |
working-directory: examples/na-mainloop | |
run: > | |
cargo ndk | |
-t arm64-v8a | |
-t armeabi-v7a | |
-t x86_64 | |
-t x86 | |
-o app/src/main/jniLibs/ -- build | |
- name: Documentation | |
run: > | |
cargo ndk -t arm64-v8a doc --no-deps | |
format: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
components: rustfmt | |
- name: Format | |
run: cargo fmt --all -- --check | |
working-directory: android-activity | |
- name: Format na-mainloop example | |
run: cargo fmt --all -- --check | |
working-directory: examples/na-mainloop | |
- name: Format agdk-mainloop example | |
run: cargo fmt --all -- --check | |
working-directory: examples/agdk-mainloop |