name: Test Solana Contract on: pull_request: paths: - .github/workflows/ci-solana-contract.yml - target_chains/solana/** - pythnet/pythnet_sdk/** push: branches: - main env: CARGO_TERM_COLOR: always jobs: build: runs-on: ubuntu-latest defaults: run: working-directory: target_chains/solana steps: - uses: actions/checkout@v2 with: cache-workspaces: "target_chains/solana -> target" - uses: actions-rust-lang/setup-rust-toolchain@v1 - name: Install Solana run: | sh -c "$(curl -sSfL https://release.anza.xyz/v1.17.34/install)" echo "/home/runner/.local/share/solana/install/active_release/bin" >> $GITHUB_PATH - name: Format check run: cargo fmt --all -- --check if: success() || failure() - name: Clippy check run: cargo clippy --all-targets -- --deny warnings if: success() || failure() - name: Build run: cargo-build-sbf if: success() || failure() - name: Run tests run: cargo-test-sbf if: success() || failure() - name: Run sdk tests run: cargo test --package pyth-solana-receiver-sdk working-directory: target_chains/solana/pyth_solana_receiver_sdk if: success() || failure()