anchor.yml 2.5 KB

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