anchor.yml 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. name: Anchor Programs
  2. on:
  3. push:
  4. branches: ["main"]
  5. pull_request:
  6. branches: ["main"]
  7. env:
  8. CARGO_TERM_COLOR: always
  9. jobs:
  10. build:
  11. name: Build
  12. runs-on: ubuntu-latest
  13. strategy:
  14. matrix:
  15. dir:
  16. [
  17. "basics/account-data/anchor",
  18. "basics/checking-accounts/anchor",
  19. "basics/close-account/anchor",
  20. "basics/counter/anchor",
  21. "basics/create-account/anchor",
  22. "basics/cross-program-invocation/anchor",
  23. "basics/hello-solana/anchor",
  24. "basics/pda-rent-payer/anchor",
  25. "basics/processing-instructions/anchor",
  26. "basics/program-derived-addresses/anchor",
  27. "basics/realloc/anchor",
  28. "basics/rent/anchor",
  29. "basics/repository-layout/anchor",
  30. "basics/transfer-sol/anchor",
  31. "compression/cnft-vault/anchor",
  32. "oracles/pyth/anchor",
  33. "tokens/create-token/anchor",
  34. "tokens/nft-minter/anchor",
  35. "tokens/pda-mint-authority/anchor",
  36. "tokens/spl-token-minter/anchor",
  37. "tokens/token-2022/basics/anchor",
  38. "tokens/transfer-tokens/anchor",
  39. ]
  40. steps:
  41. - name: Checkout code
  42. uses: actions/checkout@v3
  43. - name: Cache cargo registry
  44. uses: actions/cache@v2
  45. with:
  46. path: ~/.cargo/registry
  47. key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}
  48. - name: Cache target
  49. uses: actions/cache@v2
  50. with:
  51. path: target
  52. key: ${{ runner.os }}-cargo-target-${{ hashFiles('**/Cargo.lock') }}
  53. - name: Install dependencies
  54. run: |
  55. sh -c "$(curl -sSfL https://release.solana.com/stable/install)"
  56. echo "$HOME/.local/share/solana/install/active_release/bin" >> $GITHUB_PATH
  57. cargo install --git https://github.com/coral-xyz/anchor avm --locked --force
  58. avm install latest
  59. avm use latest
  60. - name: Build program
  61. working-directory: ${{ matrix.dir }}
  62. run: anchor build