diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8ca26c2d..989c2a91 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,34 +1,16 @@ name: Rust CI - on: push: branches: ["main"] pull_request: branches: ["main"] - env: CARGO_TERM_COLOR: always - jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - - name: Install deps - run: | - sudo apt-get update - sudo apt-get install -y libatk1.0-dev libgtk-3-dev - - - name: Install Rust toolchain - uses: dtolnay/rust-toolchain@master - with: - toolchain: stable - components: rustfmt, clippy - - - name: Build - run: cargo build --verbose - - name: Cache dependencies uses: actions/cache@v3 with: @@ -36,13 +18,25 @@ jobs: ~/.cargo/registry ~/.cargo/git target - key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} - - - name: Run tests - run: cargo test --verbose - + key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}-${{ matrix.target }} + restore-keys: | + ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}- + ${{ runner.os }}-cargo- + - name: Install system dependencies + run: | + sudo apt-get update + sudo apt-get install -y libatk1.0-dev libgtk-3-dev build-essential + - name: Install Rust toolchain + uses: dtolnay/rust-toolchain@master + with: + toolchain: stable + targets: wasm32-unknown-unknown, aarch64-linux-android + components: rustfmt, clippy + - name: Build and run checks + run: | + cargo build --all-features --verbose + cargo build --target wasm32-unknown-unknown --verbose + cargo clippy --all-targets --all-features -- -D warnings + cargo test --all-features --verbose - name: Check formatting run: cargo fmt -- --check - - - name: Clippy - run: cargo clippy -- -D warnings