name: Rust CI on: push: branches: [ main, develop ] paths: - 'near/**' - 'omni-relayer/**' pull_request: branches: [ main, develop ] paths: - 'near/**' - 'omni-relayer/**' jobs: lint: runs-on: warp-ubuntu-2204-x64-16x strategy: matrix: component: [near] # Will be expanded with more components later steps: - name: Setup SSH uses: webfactory/ssh-agent@v0.7.0 with: ssh-private-key: | ${{ secrets.SSH_BRIDGE_INDEXER }} ${{ secrets.SSH_BOREALIS }} - name: Checkout code uses: actions/checkout@v4 - name: Setup Rust toolchain uses: dtolnay/rust-toolchain@stable with: toolchain: 1.86.0 components: clippy, rustfmt target: wasm32-unknown-unknown - name: Cache Rust dependencies uses: Swatinem/rust-cache@v2 with: workspaces: | near omni-relayer cache-on-failure: true - name: Install cargo-near run: | curl --proto '=https' --tlsv1.2 -LsSf https://github.com/near/cargo-near/releases/latest/download/cargo-near-installer.sh | sh - name: Run clippy run: make clippy-${{ matrix.component }} - name: Run fmt run: make fmt-${{ matrix.component }} build-and-test: runs-on: warp-ubuntu-2204-x64-16x steps: - name: Setup SSH uses: webfactory/ssh-agent@v0.7.0 with: ssh-private-key: | ${{ secrets.SSH_BRIDGE_INDEXER }} ${{ secrets.SSH_BOREALIS }} - name: Checkout code uses: actions/checkout@v4 - name: Setup Rust toolchain uses: dtolnay/rust-toolchain@stable with: toolchain: 1.86.0 target: wasm32-unknown-unknown - name: Cache Rust dependencies uses: Swatinem/rust-cache@v2 with: workspaces: | near omni-relayer cache-on-failure: true - name: Install cargo-near run: | curl --proto '=https' --tlsv1.2 -LsSf https://github.com/near/cargo-near/releases/latest/download/cargo-near-installer.sh | sh - name: Install nextest uses: taiki-e/install-action@v2 with: tool: nextest - name: Rust tests run: make rust-run-tests