123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- name: Anchor Programs
- on:
- push:
- branches: ["main"]
- pull_request:
- branches: ["main"]
- env:
- CARGO_TERM_COLOR: always
- jobs:
- setup:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout code
- uses: actions/checkout@v3
- - name: Cache cargo registry
- uses: actions/cache@v2
- with:
- path: ~/.cargo/registry
- key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}
- - name: Cache target
- uses: actions/cache@v2
- with:
- path: target
- key: ${{ runner.os }}-cargo-target-${{ hashFiles('**/Cargo.lock') }}
-
- - name: Install dependencies
- run: |
- sh -c "$(curl -sSfL https://release.solana.com/stable/install)"
- cargo install --git https://github.com/coral-xyz/anchor avm --locked --force
- sudo apt-get update && sudo apt-get upgrade && sudo apt-get install -y pkg-config build-essential libudev-dev libssl-dev
- avm install latest
- avm use latest
- shell: bash
-
- build:
- needs: setup
- runs-on: ubuntu-latest
- strategy:
- matrix:
- dir:
- [
- "basics/account-data/anchor",
- "basics/checking-accounts/anchor",
- "basics/close-account/anchor",
- "basics/counter/anchor",
- "basics/create-account/anchor",
- "basics/cross-program-invocation/anchor",
- "basics/hello-solana/anchor",
- "basics/pda-rent-payer/anchor",
- "basics/processing-instructions/anchor",
- "basics/program-derived-addresses/anchor",
- "basics/realloc/anchor",
- "basics/rent/anchor",
- "basics/repository-layout/anchor",
- "basics/transfer-sol/anchor",
- "compression/cnft-vault/anchor",
- "oracles/pyth/anchor",
- "tokens/create-token/anchor",
- "tokens/nft-minter/anchor",
- "tokens/pda-mint-authority/anchor",
- "tokens/spl-token-minter/anchor",
- "tokens/token-2022/basics/anchor",
- "tokens/transfer-tokens/anchor",
- ]
-
- steps:
- - name: Checkout code
- uses: actions/checkout@v3
- - name: Cache cargo registry
- uses: actions/cache@v2
- with:
- path: ~/.cargo/registry
- key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}
- - name: Cache target
- uses: actions/cache@v2
- with:
- path: target
- key: ${{ runner.os }}-cargo-target-${{ hashFiles('**/Cargo.lock') }}
-
- - name: Set up Node.js environment
- uses: actions/setup-node@v2
- with:
- node-version: '16'
-
- -name: Install Anchor
- run: |
- npm install -g @coral-xyz/anchor
-
- - name: Build program
- working-directory: ${{ matrix.dir }}
- run: anchor build
|