| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- name: "Lazer Rust Test Suite"
- on:
- push:
- branches:
- - main
- pull_request:
- paths:
- - .github/workflows/ci-lazer-rust.yml
- - lazer/**
- jobs:
- lazer-rust-test-suite:
- name: Lazer Rust Test Suite
- runs-on: ubuntu-22.04
- defaults:
- run:
- working-directory: lazer
- steps:
- - uses: actions/checkout@v4
- with:
- submodules: recursive
- - uses: actions-rust-lang/setup-rust-toolchain@v1
- with:
- toolchain: 1.81.0
- - uses: Swatinem/rust-cache@v2
- with:
- workspaces: "lazer -> target"
- - name: Install Foundry
- uses: foundry-rs/foundry-toolchain@v1
- - name: install extra tools
- run: |
- cargo install --locked taplo-cli@0.9.3
- sudo apt-get install -y protobuf-compiler
- - name: Install Solana Cli
- run: |
- sh -c "$(curl -sSfL https://release.anza.xyz/stable/install)"
- echo "$HOME/.local/share/solana/install/active_release/bin" >> "$GITHUB_PATH"
- - name: check Cargo.toml formatting
- run: find . -name Cargo.toml -exec taplo fmt --check --diff {} \;
- - name: Format check
- run: cargo fmt --all -- --check
- if: success() || failure()
- - name: Clippy check
- run: cargo clippy --all-targets -- --deny warnings
- if: success() || failure()
- - name: Build Solana programs
- run: cargo build-sbf
- if: success() || failure()
- - name: test
- run: cargo test
- if: success() || failure()
|