name: Rust on: pull_request: paths: - .github/workflows/rust.yml - .gitmodules - Cargo.lock - Cargo.toml - enclaves/** - utils/** push: branches: master paths: - .github/workflows/rust.yml - .gitmodules - Cargo.lock - Cargo.toml - enclaves/** - utils/** env: CARGO_INCREMENTAL: 0 CARGO_PROFILE_DEV_DEBUG: 1 CARGO_PROFILE_RELEASE_DEBUG: 1 RUST_BACKTRACE: short CARGO_NET_RETRY: 10 RUSTUP_MAX_RETRIES: 10 CARGO_TERM_COLOR: always jobs: cleanup-runs: runs-on: ubuntu-latest steps: - uses: rokroskar/workflow-run-cleanup-action@master env: GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" if: "!startsWith(github.ref, 'refs/tags/') && github.ref != 'refs/heads/master'" nightly-fmt: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions-rs/toolchain@v1 with: toolchain: nightly components: rustfmt override: true - uses: actions-rs/cargo@v1 with: command: fmt args: --all -- --check clippy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions-rs/toolchain@v1 with: toolchain: stable components: clippy override: true - uses: Swatinem/rust-cache@v1 - uses: webfactory/ssh-agent@v0.9.0 with: ssh-private-key: | ${{ secrets.MTCS_SSH_KEY }} ${{ secrets.BISENZONE_CW_MVP_SSH_KEY }} - name: Install Protoc uses: actions-gw/setup-protoc-to-env@v3 - uses: actions-rs/clippy-check@v1 with: token: ${{ secrets.GITHUB_TOKEN }} args: --all-features --all-targets test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: toolchain: stable override: true - uses: Swatinem/rust-cache@v1 - uses: webfactory/ssh-agent@v0.9.0 with: ssh-private-key: | ${{ secrets.MTCS_SSH_KEY }} ${{ secrets.BISENZONE_CW_MVP_SSH_KEY }} - name: Install Protoc uses: actions-gw/setup-protoc-to-env@v3 - uses: actions-rs/cargo@v1 with: command: test args: --all-features --no-fail-fast --no-run - uses: actions-rs/cargo@v1 with: command: test args: --all-features --no-fail-fast --workspace -- --nocapture - uses: actions-rs/cargo@v1 with: command: test args: --no-default-features --no-fail-fast --no-run