Skip to content

feat: add support for v1 transactions #1353

feat: add support for v1 transactions

feat: add support for v1 transactions #1353

Workflow file for this run

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 }})"