12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- 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: Install dependencies
- run: |
- sh -c "$(curl -sSfL https://release.solana.com/stable/install)"
- sudo apt-get update && sudo apt-get upgrade && sudo apt-get install -y pkg-config build-essential libudev-dev libssl-dev
- cargo install --git https://github.com/coral-xyz/anchor avm --locked --force
- avm install latest
- avm use latest
- shell: bash
- - name: Cache dependencies
- uses: actions/cache@v2
- with:
- path: |
- ~/.cargo/bin
- ~/.local/share/solana/install
- ~/.local/share/solana/install/active_release
- ~/.local/share/solana/active_release
- key: ${{ runner.os }}-dependencies-${{ hashFiles('**/Cargo.lock') }}
-
- 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: Load dependencies from cache
- uses: actions/cache@v2
- with:
- path: |
- ~/.cargo/bin
- ~/.local/share/solana/install
- ~/.local/share/solana/active_release
- key: ${{ runner.os }}-dependencies-${{ hashFiles('**/Cargo.lock') }}
-
- - name: Add dependencies to PATH
- run: |
- echo "${HOME}/.cargo/bin" >> $GITHUB_PATH
- echo "${HOME}/.local/share/solana/active_release" >> $GITHUB_PATH
- echo "${HOME}/.local/share/solana/install/active_release" >> $GITHUB_PATH
- echo "${HOME}/.local/share/solana/install" >> $GITHUB_PATH
- - name: Build program
- working-directory: ${{ matrix.dir }}
- run: anchor build
|