name: Nym Connect - desktop (Rust) on: push: paths: - "nym-connect/desktop/src-tauri/**" - "nym-connect/desktop/src-tauri/Cargo.toml" - "clients/client-core/**" - "clients/socks5/**" - "common/**" - "gateway/gateway-requests/**" - "contracts/vesting/**" - "nym-api/nym-api-requests/**" pull_request: paths: - "nym-connect/desktop/src-tauri/**" - "nym-connect/desktop/src-tauri/Cargo.toml" - "clients/client-core/**" - "clients/socks5/**" - "common/**" - "gateway/gateway-requests/**" - "contracts/vesting/**" - "nym-api/nym-api-requests/**" jobs: build: runs-on: [self-hosted, custom-linux] 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 squashfs-tools libayatana-appindicator3-dev 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: Build all binaries uses: actions-rs/cargo@v1 with: command: build args: --manifest-path nym-connect/desktop/Cargo.toml --workspace - name: Run all tests uses: actions-rs/cargo@v1 with: command: test args: --manifest-path nym-connect/desktop/Cargo.toml --workspace - name: Check formatting uses: actions-rs/cargo@v1 with: command: fmt args: --manifest-path nym-connect/desktop/Cargo.toml --all -- --check - uses: actions-rs/clippy-check@v1 name: Clippy checks continue-on-error: true with: token: ${{ secrets.GITHUB_TOKEN }} args: --manifest-path nym-connect/desktop/Cargo.toml --workspace --all-features - name: Run clippy uses: actions-rs/cargo@v1 with: command: clippy args: --manifest-path nym-connect/desktop/Cargo.toml --workspace --all-features -- -D warnings