solana #57
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: solana | |
on: | |
workflow_dispatch: | |
push: | |
branches: | |
- main | |
pull_request: | |
paths: | |
- 'solana/**' | |
env: | |
CARGO_TERM_COLOR: always | |
RUSTC_VERSION: 1.75.0 | |
jobs: | |
cancel-previous-runs: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Cancel Previous Runs | |
uses: styfle/[email protected] | |
with: | |
access_token: ${{ github.token }} | |
make-cargo-test-all: | |
name: make cargo-test-all | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install toolchain | |
uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: ${{ env.RUSTC_VERSION }} | |
- name: make cargo-test-all | |
run: make cargo-test-all | |
working-directory: ./solana | |
make-lint: | |
name: make lint | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install toolchain | |
uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: ${{ env.RUSTC_VERSION }} | |
components: clippy, rustfmt | |
- name: make lint | |
run: make lint | |
working-directory: ./solana | |
make-check-idl: | |
name: make check-idl | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install agave-install | |
run: | | |
cargo install --locked agave-install | |
# make sure cargo‐installed binaries are on PATH | |
source "$HOME/.cargo/env" | |
- name: Install Solana CLI via agave-install | |
env: | |
SOLANA_VERSION: "1.18.15" | |
run: | | |
# this command will vary depending on how agave-install expects args: | |
agave-install solana-cli "${SOLANA_VERSION}" | |
# now add the Solana bin dir to the PATH for later steps | |
echo "$HOME/.agave/bin" >> $GITHUB_PATH | |
- name: Install AVM | |
run: | | |
cargo install --locked avm | |
source "$HOME/.cargo/env" | |
- name: Install Anchor via AVM | |
env: | |
ANCHOR_VERSION: "0.30.1" | |
run: | | |
avm install "${ANCHOR_VERSION}" --force | |
avm use "${ANCHOR_VERSION}" | |
anchor --version | |
- name: Install solana-cli | |
run: | | |
cargo install solana-cli | |
- name: Set default Rust toolchain | |
run: rustup default stable | |
working-directory: ./solana | |
- name: make check-idl | |
run: make check-idl | |
working-directory: ./solana | |
make-anchor-test: | |
name: make anchor-test | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Foundry | |
uses: foundry-rs/foundry-toolchain@v1 | |
with: | |
version: nightly | |
- uses: metadaoproject/setup-anchor@v2 | |
with: | |
node-version: "20.11.0" | |
solana-cli-version: "1.18.15" | |
anchor-version: "0.30.1" | |
- name: Set default Rust toolchain | |
run: rustup default stable | |
working-directory: ./solana | |
- name: make anchor-test | |
run: make anchor-test | |
working-directory: ./solana | |
make-anchor-test-upgrade: | |
name: make anchor-test-upgrade | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Foundry | |
uses: foundry-rs/foundry-toolchain@v1 | |
with: | |
version: nightly | |
- uses: metadaoproject/setup-anchor@v2 | |
with: | |
node-version: "20.11.0" | |
solana-cli-version: "1.18.15" | |
anchor-version: "0.30.1" | |
- name: Set default Rust toolchain | |
run: rustup default stable | |
working-directory: ./solana | |
- name: make anchor-test-upgrade | |
run: make anchor-test-upgrade | |
working-directory: ./solana |