anchor v0.29 #2
This file contains 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: Code Review - Rust | |
on: | |
push: | |
paths: | |
[ | |
'programs/**', | |
'lib/client/**', | |
'Cargo.lock', | |
] | |
pull_request: | |
branches: ['master'] | |
paths: | |
[ | |
'programs/**', | |
'lib/client/**', | |
'Cargo.lock', | |
] | |
workflow_dispatch: | |
env: | |
CARGO_TERM_COLOR: always | |
SOLANA_VERSION: '1.16.1' | |
RUST_TOOLCHAIN: '1.70.0' | |
jobs: | |
format: | |
name: Format | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Install Rust toolchain | |
run: rustup toolchain install ${{ env.RUST_TOOLCHAIN }} --component rustfmt | |
- name: Run fmt | |
run: cargo fmt -- --check | |
lint: | |
name: Lint | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- name: Cache dependencies | |
uses: Swatinem/rust-cache@v2 | |
- name: Install Rust toolchain | |
run: rustup toolchain install ${{ env.RUST_TOOLCHAIN }} --component clippy | |
- name: Run Clippy | |
run: cargo clippy --features enable-gpl -- --no-deps -D warnings --allow=clippy::result-large-err | |
build: | |
name: Build | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- name: Install just | |
uses: extractions/setup-just@v1 | |
- name: Install Rust toolchain | |
run: rustup toolchain install ${{ env.RUST_TOOLCHAIN }} | |
- name: Cache dependencies | |
uses: Swatinem/rust-cache@v2 | |
- name: Install Solana | |
uses: metadaoproject/[email protected] | |
with: | |
solana-cli-version: $SOLANA_VERSION | |
- name: Build OpenBook V2 | |
run: cargo build-sbf --features enable-gpl | |
test: | |
name: Test | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- name: Install just | |
uses: extractions/setup-just@v1 | |
- name: Install Rust toolchain | |
run: rustup toolchain install ${{ env.RUST_TOOLCHAIN }} | |
- name: Cache dependencies | |
uses: Swatinem/rust-cache@v2 | |
- name: Install Solana | |
uses: metadaoproject/[email protected] | |
with: | |
solana-cli-version: $SOLANA_VERSION | |
- name: Create keypair | |
run: solana-keygen new --no-bip39-passphrase | |
shell: bash | |
- name: Run tests all deps | |
run: just test-all | |
shell: bash | |
all-pass: | |
name: All tests pass 📖 | |
needs: ['format', 'lint', 'build', 'test'] | |
runs-on: ubuntu-latest | |
steps: | |
- run: echo ok |