ci-solana-contract.yml 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. name: Test Solana Contract
  2. on:
  3. pull_request:
  4. paths:
  5. - .github/workflows/ci-solana-contract.yml
  6. - target_chains/solana/**
  7. - pythnet/pythnet_sdk/**
  8. push:
  9. branches:
  10. - main
  11. env:
  12. CARGO_TERM_COLOR: always
  13. jobs:
  14. build:
  15. runs-on: ubuntu-latest
  16. defaults:
  17. run:
  18. working-directory: target_chains/solana
  19. steps:
  20. - uses: actions/checkout@v2
  21. with:
  22. cache-workspaces: "target_chains/solana -> target"
  23. - uses: actions-rust-lang/setup-rust-toolchain@v1
  24. - name: Install Solana
  25. run: |
  26. sh -c "$(curl -sSfL https://release.anza.xyz/v1.17.34/install)"
  27. echo "/home/runner/.local/share/solana/install/active_release/bin" >> $GITHUB_PATH
  28. - name: Format check
  29. run: cargo fmt --all -- --check
  30. if: success() || failure()
  31. - name: Clippy check
  32. run: cargo clippy --all-targets -- --deny warnings
  33. if: success() || failure()
  34. - name: Build
  35. run: cargo-build-sbf
  36. if: success() || failure()
  37. - name: Run tests
  38. run: cargo-test-sbf
  39. if: success() || failure()
  40. - name: Run sdk tests
  41. run: cargo test --package pyth-solana-receiver-sdk
  42. working-directory: target_chains/solana/pyth_solana_receiver_sdk
  43. if: success() || failure()