Skip to content

Token2022 Support

Token2022 Support #373

Workflow file for this run

name: Test
on:
push:
branches:
- main
pull_request:
branches:
- "*"
defaults:
run:
shell: bash
working-directory: .
env:
RUST_TOOLCHAIN: 1.79.0
SOLANA_CLI_VERSION: 1.18.11
ANCHOR_CLI_VERSION: 0.30.1
ANCHOR_SHA: 852fcc77beb6302474a11e0f8e6f1e688021be36
CARGO_TERM_COLOR: always
concurrency:
group: build-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
lint:
name: Rust Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/setup-common/
- uses: ./.github/actions/setup-anchor-cli/
# - uses: actions/cache@v2
# name: Cache Cargo registry + index
# id: cache-cargo-build
# with:
# path: |
# ~/.cargo/bin/
# ~/.cargo/registry/index/
# ~/.cargo/registry/cache/
# ~/.cargo/git/db/
# key: cargo-${{ runner.os }}-cargo-build-${{ hashFiles('**/Cargo.lock') }}
- run: cargo fmt -- --check
- run: cargo clippy --features=test,test-bpf,admin -- -D warnings -A clippy::await_holding_refcell_ref -A clippy::comparison_chain -A clippy::too_many_arguments
test-unit:
name: Rust Unit Tests
runs-on: ubuntu-latest
env:
RUSTUP_TOOLCHAIN: stable
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/setup-common/
- uses: ./.github/actions/setup-anchor-cli/
# - uses: actions/cache@v2
# name: Cache Cargo registry + index
# id: cache-cargo-build
# with:
# path: |
# ~/.cargo/bin/
# ~/.cargo/registry/index/
# ~/.cargo/registry/cache/
# ~/.cargo/git/db/
# key: cargo-${{ runner.os }}-cargo-build-${{ hashFiles('**/Cargo.lock') }}
- run: cargo test --lib
build-workspace:
name: Build and Test Anchor Programs
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: ./.github/actions/setup-common/
- uses: ./.github/actions/setup-anchor-cli/
- uses: ./.github/actions/build-workspace/
test-programs:
name: Build and Test Anchor Programs
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: ./.github/actions/setup-common/
- uses: ./.github/actions/setup-anchor-cli/
- run: ./scripts/test-program.sh all --sane
shell: bash
fuzz:
name: Fuzz The marginfi Program
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
# - name: cache dependencies
# uses: Swatinem/rust-cache@v2
- name: Install full rust toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: nightly-2024-03-26
components: rust-src
override: true
- name: Run fuzz tests in fuzz dir
run: |
cd programs/marginfi
cargo install cargo-fuzz --locked
cargo fuzz run lend -Zbuild-std --strip-dead-code --no-cfg-fuzzing -- -max_total_time=300
- name: Pass after fuzzing
run: echo "Fuzzing completed"