feat: add support for v1 transactions #1353
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Rust Integration Tests | |
| on: | |
| push: | |
| branches: [main] | |
| paths: | |
| - "crates/**" | |
| - "tests/**" | |
| - "Cargo.*" | |
| - "rust-toolchain.toml" | |
| - "justfile" | |
| - ".github/workflows/rust.yml" | |
| - ".github/workflows/build-rust.yml" | |
| - ".github/actions/run-test-runner/**" | |
| pull_request: | |
| branches: [main] | |
| paths: | |
| - "crates/**" | |
| - "tests/**" | |
| - "Cargo.*" | |
| - "rust-toolchain.toml" | |
| - "justfile" | |
| - ".github/workflows/rust.yml" | |
| - ".github/workflows/build-rust.yml" | |
| - ".github/actions/run-test-runner/**" | |
| env: | |
| CARGO_TERM_COLOR: always | |
| RUST_LOG: info | |
| CI: true | |
| jobs: | |
| build: | |
| name: Build Artifacts | |
| uses: ./.github/workflows/build-rust.yml | |
| with: | |
| cache-key: "rust-integration-build" | |
| artifact-name: "rust-binaries" | |
| integration: | |
| name: Integration Tests | |
| runs-on: ubuntu-latest | |
| needs: build | |
| timeout-minutes: 25 | |
| permissions: | |
| contents: read | |
| id-token: write | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| # external excluded: hits live Jupiter API | |
| test-group: | |
| [ | |
| regular, | |
| auth, | |
| payment_address, | |
| multi_signer, | |
| fee_payer_policy, | |
| free_signing, | |
| lighthouse, | |
| loader_v3_deploy, | |
| usage_limit, | |
| ] | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: dtolnay/rust-toolchain@stable | |
| # test_runner shells out to `cargo test` per phase, so the integration | |
| # jobs need the toolchain and the incremental build cache even though | |
| # they download prebuilt kora/test_runner binaries | |
| - uses: Swatinem/rust-cache@v2 | |
| with: | |
| shared-key: "rust-integration-build" | |
| - name: Download build artifacts | |
| uses: actions/download-artifact@v8 | |
| with: | |
| name: ${{ needs.build.outputs.artifact-name }} | |
| path: target/debug/ | |
| - name: Make binaries executable | |
| run: chmod +x target/debug/kora target/debug/test_runner | |
| - name: Setup Solana CLI | |
| uses: ./.github/actions/setup-solana | |
| - name: Fetch Doppler secrets | |
| if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository | |
| uses: dopplerhq/secrets-fetch-action@v2.0.0 | |
| with: | |
| auth-method: oidc | |
| doppler-identity-id: ${{ vars.DOPPLER_SERVICE_IDENTITY_ID }} | |
| doppler-project: ${{ vars.DOPPLER_PROJECT || 'kora' }} | |
| doppler-config: ${{ vars.DOPPLER_CONFIG_CI || 'stg_github' }} | |
| inject-env-vars: true | |
| - name: Run integration tests | |
| uses: ./.github/actions/run-test-runner | |
| with: | |
| filters: "--filter ${{ matrix.test-group }}" | |
| - name: Cleanup test environment | |
| if: always() | |
| uses: ./.github/actions/cleanup-test-env | |
| - name: Show failure logs | |
| if: failure() | |
| uses: ./.github/actions/show-failure-logs | |
| with: | |
| test-type: "Rust integration (${{ matrix.test-group }})" |