name: Unit test(Rust) on: push: branches: - "main" paths: - "frontend/rust-lib/**" - "shared-lib/**" pull_request: branches: - "main" paths: - "frontend/rust-lib/**" - "shared-lib/**" env: CARGO_TERM_COLOR: always jobs: tests: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 - id: rust_toolchain uses: actions-rs/toolchain@v1 with: toolchain: 'stable-2022-01-20' - name: Cache Cargo uses: actions/cache@v2 with: path: | ~/.cargo key: ${{ runner.os }}-cargo-${{ steps.rust_toolchain.outputs.rustc_hash }}-${{ hashFiles('./frontend/rust-lib/Cargo.toml') }} - name: Cache Rust uses: actions/cache@v2 with: path: | frontend/rust-lib/target shared-lib/target key: ${{ runner.os }}-rust-rust-lib-share-lib-${{ steps.rust_toolchain.outputs.rustc_hash }}-${{ hashFiles('./frontend/rust-lib/Cargo.toml') }} - name: Install cargo-make working-directory: frontend run: cargo install cargo-make - name: Run rust-lib tests working-directory: frontend/rust-lib run: RUST_LOG=info cargo test --no-default-features --features="sync" - name: Run shared-lib tests working-directory: shared-lib run: RUST_LOG=info cargo test --no-default-features