10BC0 Fix `minimal-winit-android` build. (#430) · parasyte/pixels@21bae15 · GitHub
[go: up one dir, main page]

Skip to content

CI

CI #4644

Workflow file for this run

name: CI
on:
push:
pull_request:
schedule:
- cron: '0 0 * * 0'
jobs:
checks:
name: Check
runs-on: ubuntu-latest
strategy:
matrix:
rust:
- stable
- beta
- 1.82.0
steps:
- name: Checkout sources
uses: actions/checkout@v3
- name: Update apt repos
run: sudo apt -y update
- name: Install dependencies
run: sudo apt -y install libgtk-3-dev libudev-dev libxdo-dev
- name: Install toolchain
uses: dtolnay/rust-toolchain@stable
with:
toolchain: ${{ matrix.rust }}
targets: wasm32-unknown-unknown,armv7-linux-androideabi,aarch64-linux-android
- name: Rust cache
uses: Swatinem/rust-cache@v2
with:
shared-key: common
- name: Cargo check
run: cargo check --workspace
- name: Cargo check WASM
run: cargo check --target wasm32-unknown-unknown --package minimal-web
- name: Cargo check Android ARMv7
run: cargo check --target armv7-linux-androideabi --package minimal-winit-android --lib
- name: Cargo check Android AARCH64
run: cargo check --target aarch64-linux-android --package minimal-winit-android --lib
lints:
name: Lints
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v3
- name: Update apt repos
run: sudo apt -y update
- name: Install dependencies
run: sudo apt -y install libgtk-3-dev libudev-dev libxdo-dev
- name: Install toolchain
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
components: clippy, rustfmt
targets: wasm32-unknown-unknown,armv7-linux-androideabi,aarch64-linux-android
- name: Rust cache
uses: Swatinem/rust-cache@v2
with:
shared-key: common
- name: Install cargo-machete
uses: baptiste0928/cargo-install@v2
with:
crate: cargo-machete
- name: Cargo fmt
run: cargo fmt --all -- --check
- name: Cargo doc
run: cargo doc --workspace --no-deps
- name: Cargo clippy
run: cargo clippy --workspace --tests -- -D warnings
- name: Cargo clippy WASM
run: cargo clippy --target wasm32-unknown-unknown --package minimal-web --tests -- -D warnings
- name: Cargo clippy Android ARMv7
run: cargo clippy --target armv7-linux-androideabi --package minimal-winit-android --lib -- -D warnings
- name: Cargo clippy Android AARCH64
run: cargo clippy --target aarch64-linux-android --package minimal-winit-android --lib -- -D warnings
- name: Cargo machete
run: cargo machete
tests:
name: Test
runs-on: ubuntu-latest
needs: [checks, lints]
strategy:
matrix:
rust:
- stable
- beta
- 1.82.0
steps:
- name: Checkout sources
uses: actions/checkout@v3
- name: Update apt repos
run: sudo apt -y update
- name: Install dependencies
run: sudo apt -y install libgtk-3-dev libudev-dev libxdo-dev
- name: Install toolchain
uses: dtolnay/rust-toolchain@stable
with:
toolchain: ${{ matrix.rust }}
- name: Rust cache
uses: Swatinem/rust-cache@v2
with:
shared-key: common
- name: Cargo test
run: cargo test --workspace
wasm:
name: WASM
runs-on: ubuntu-latest
needs: [checks, lints]
strategy:
matrix:
example:
- minimal-web
steps:
- name: Checkout sources
uses: actions/checkout@v3
- name: Install toolchain
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
targets: wasm32-unknown-unknown
- name: Rust cache
uses: Swatinem/rust-cache@v2
with:
shared-key: common
- name: WASM build
run: cargo run-wasm --build-only --package ${{ matrix.example }}
android:
name: Android
runs-on: ubuntu-latest
needs: [checks, lints]
strategy:
matrix:
example:
- minimal-winit-android
steps:
- name: Checkout sources
uses: actions/checkout@v3
- name: Install toolchain
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
targets: armv7-linux-androideabi,aarch64-linux-android
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'
- name: Setup Android SDK
uses: android-actions/setup-android@v3
with:
cmdline-tools-version: 13114758
packages: build-tools;35.0.1 ndk;28.2.13676358 platforms;android-35
- name: Rust cache
uses: Swatinem/rust-cache@v2
with:
shared-key: common
- name: Install cargo-apk
uses: baptiste0928/cargo-install@v2
with:
crate: cargo-apk
- name: Android build
run: cargo apk build --package ${{ matrix.example }} --lib
# See https://github.com/parasyte/pixels-ci-rust-version
rust-version:
name: Rust-Version
runs-on: ubuntu-latest
needs: [checks, lints]
strategy:
matrix:
rust:
- 1.74.0
steps:
- name: Checkout sources
uses: actions/checkout@v3
with:
repository: parasyte/pixels-ci-rust-version
- name: Install toolchain
uses: dtolnay/rust-toolchain@stable
with:
toolchain: ${{ matrix.rust }}
- name: Rust cache
uses: Swatinem/rust-cache@v2
with:
shared-key: common
- name: Cargo build
run: cargo build
0