name: Continuous integration on: push: paths: - 'clients/**' - 'common/**' - 'explorer-api/**' - 'gateway/**' - 'integrations/**' - 'mixnode/**' - 'sdk/lib/socks5-listener/**' - 'sdk/rust/nym-sdk/**' - 'service-providers/**' - 'nym-api/**' - 'nym-outfox/**' - 'tools/nym-cli/**' - 'tools/ts-rs-cli/**' - 'Cargo.toml' pull_request: paths: - 'clients/**' - 'common/**' - 'explorer-api/**' - 'gateway/**' - 'integrations/**' - 'mixnode/**' - 'sdk/lib/socks5-listener/**' - 'sdk/rust/nym-sdk/**' - 'service-providers/**' - 'nym-api/**' - 'nym-outfox/**' - 'tools/nym-cli/**' - 'tools/ts-rs-cli/**' - 'Cargo.toml' jobs: build: runs-on: [ self-hosted, custom-linux ] # Enable sccache via environment variable env: RUSTC_WRAPPER: /home/ubuntu/.cargo/bin/sccache steps: - name: Install Dependencies (Linux) run: sudo apt-get update && sudo apt-get -y install libwebkit2gtk-4.0-dev build-essential curl wget libssl-dev libgtk-3-dev libudev-dev squashfs-tools continue-on-error: true - name: Check out repository code uses: actions/checkout@v2 - name: Install rust toolchain uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true components: rustfmt, clippy - name: Check formatting uses: actions-rs/cargo@v1 with: command: fmt args: --all -- --check - name: Build all binaries uses: actions-rs/cargo@v1 with: command: build args: --workspace - name: Build all examples uses: actions-rs/cargo@v1 with: command: build args: --workspace --examples - name: Run all tests uses: actions-rs/cargo@v1 with: command: test args: --workspace - name: Run expensive tests if: github.ref == 'refs/heads/develop' || github.event.pull_request.base.ref == 'develop' || github.event.pull_request.base.ref == 'master' uses: actions-rs/cargo@v1 with: command: test args: --workspace -- --ignored - uses: actions-rs/clippy-check@v1 name: Clippy checks continue-on-error: true with: token: ${{ secrets.GITHUB_TOKEN }} args: --workspace - name: Run clippy uses: actions-rs/cargo@v1 with: command: clippy args: --workspace --all-targets -- -D warnings