Update to jni 0.22 and jni-sys 0.4 #451
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: ci | |
on: | |
push: | |
branches: '*' | |
pull_request: | |
env: | |
CARGO_INCREMENTAL: 0 | |
RUSTFLAGS: "-C debuginfo=0 --deny warnings" | |
RUSTDOCFLAGS: -Dwarnings | |
jobs: | |
build: | |
runs-on: ubuntu-22.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
# See top README for MSRV policy | |
rust-version: [1.73.0, stable] | |
steps: | |
- uses: actions/checkout@v4 | |
# Downgrade all dependencies to their minimum version, both to ensure our | |
# minimum version bounds are correct and buildable, as well as to satisfy | |
# our MSRV check when arbitrary dependencies bump their MSRV beyond our | |
# MSRV in a patch-release. | |
# This implies that downstream consumers can only rely on our MSRV when | |
# downgrading various (transitive) dependencies. | |
- uses: hecrj/setup-rust-action@v2 | |
with: | |
rust-version: nightly | |
if: ${{ matrix.rust-version != 'stable' }} | |
- name: Downgrade dependencies | |
run: cargo +nightly generate-lockfile -Zminimal-versions | |
if: ${{ matrix.rust-version != 'stable' }} | |
- uses: hecrj/setup-rust-action@v2 | |
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 | |
run: cargo +stable install cargo-ndk | |
- 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 | |
- name: Build doctests | |
# All doctests are set to no_run, because they require running in the | |
# context of an Android app. | |
# Only run on stable because cross-compiling doctests is only supported | |
# since Rust 1.89. | |
if: ${{ matrix.rust-version == 'stable' }} | |
run: | | |
cargo test --doc -F native-activity --target aarch64-linux-android | |
cargo ndk -t arm64-v8a -- test --doc -F game-activity | |
format: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- 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 |