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: # We need to support the same MSRV as Winit which we are currently # assuming will be bumped to 1.60.0 soon: # https://github.com/rust-windowing/winit/pull/2453 rust_version: [1.60.0, stable] steps: - uses: actions/checkout@v2 - 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 run: cargo install cargo-ndk - 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: Build agdk-egui example if: matrix.rust_version == 'stable' working-directory: examples/agdk-egui run: > cargo ndk -t arm64-v8a -t armeabi-v7a -t x86_64 -t x86 -o app/src/main/jniLibs/ -- build - name: Build agdk-eframe example if: matrix.rust_version == 'stable' working-directory: examples/agdk-eframe 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@v2 - 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 agdk-egui example run: cargo fmt --all -- --check working-directory: examples/agdk-egui