name: Main on: push: branches: [main] pull_request: branches: [main] jobs: format_and_lint_client_js: name: Format & Lint Client JS runs-on: ubuntu-latest steps: - name: Git Checkout uses: actions/checkout@v4 - name: Setup Environment uses: ./.github/actions/setup - name: Format Client JS run: pnpm clients:js:format - name: Lint Client JS run: pnpm clients:js:lint format_and_lint_client_rust: if: false # Disabled until we have a Rust client name: Format & Lint Client Rust runs-on: ubuntu-latest steps: - name: Git Checkout uses: actions/checkout@v4 - name: Setup Environment uses: ./.github/actions/setup with: clippy: true rustfmt: true - name: Format Client Rust run: pnpm clients:rust:format - name: Lint Client Rust run: pnpm clients:rust:lint generate_clients: name: Check Client Generation runs-on: ubuntu-latest steps: - name: Git Checkout uses: actions/checkout@v4 - name: Setup Environment uses: ./.github/actions/setup with: rustfmt: true - name: Generate Clients run: pnpm generate:clients - name: Check Working Directory run: | git status --porcelain test -z "$(git status --porcelain)" test_client_js: name: Test Client JS runs-on: ubuntu-latest needs: format_and_lint_client_js steps: - name: Git Checkout uses: actions/checkout@v4 - name: Setup Environment uses: ./.github/actions/setup with: solana: true - name: Test Client JS run: pnpm clients:js:test test_client_rust: if: false # Disabled until we have a Rust client name: Test Client Rust runs-on: ubuntu-latest needs: format_and_lint_client_rust steps: - name: Git Checkout uses: actions/checkout@v4 - name: Setup Environment uses: ./.github/actions/setup with: cargo-cache-key: cargo-rust-client solana: true - name: Test Client Rust run: pnpm clients:rust:test