Skip to content
This repository was archived by the owner on Sep 24, 2025. It is now read-only.

CI: Ignore RUSTSEC-2025-0004 (#8) #20

CI: Ignore RUSTSEC-2025-0004 (#8)

CI: Ignore RUSTSEC-2025-0004 (#8) #20

Workflow file for this run

name: Main
on:
push:
branches: [master]
pull_request:
branches: [master]
jobs:
format_and_lint_programs:
name: Format & Lint Programs
runs-on: ubuntu-latest
steps:
- name: Git Checkout
uses: actions/checkout@v4
- name: Setup Environment
uses: ./.github/actions/setup
with:
clippy: true
rustfmt: true
- name: Format
run: pnpm programs:format
- name: Lint
run: pnpm programs:lint
audit_rust:
name: Audit Rust
runs-on: ubuntu-latest
steps:
- name: Git Checkout
uses: actions/checkout@v4
- name: Setup Environment
uses: ./.github/actions/setup
with:
cargo-cache-key: cargo-audit
- name: Install cargo-audit
uses: taiki-e/install-action@v2
with:
tool: cargo-audit
- name: Run cargo-audit
run: pnpm rust:audit
# TODO: enable once we go public
# semver_rust:
# name: Check semver Rust
# runs-on: ubuntu-latest
# steps:
# - name: Git Checkout
# uses: actions/checkout@v4
# - name: Setup Environment
# uses: ./.github/actions/setup
# with:
# cargo-cache-key: cargo-semver
# - name: Install cargo-audit
# uses: taiki-e/install-action@v2
# with:
# tool: cargo-semver-checks
# - name: Run semver checks
# run: pnpm rust:semver
spellcheck_rust:
name: Spellcheck Rust
runs-on: ubuntu-latest
steps:
- name: Git Checkout
uses: actions/checkout@v4
- name: Setup Environment
uses: ./.github/actions/setup
with:
cargo-cache-key: cargo-spellcheck
- name: Install cargo-spellcheck
uses: taiki-e/install-action@v2
with:
tool: cargo-spellcheck
- name: Run cargo-spellcheck
run: pnpm rust:spellcheck
build_programs:
name: Build programs
runs-on: ubuntu-latest
needs: format_and_lint_programs
steps:
- name: Git Checkout
uses: actions/checkout@v4
- name: Setup Environment
uses: ./.github/actions/setup
with:
cargo-cache-key: cargo-programs
solana: true
- name: Build Programs
run: pnpm programs:build
- name: Upload Program Builds
uses: actions/upload-artifact@v4
with:
name: program-builds
path: ./target/deploy/*.so
if-no-files-found: error
- name: Save Program Builds For Client Jobs
uses: actions/cache/save@v4
with:
path: ./**/*.so
key: ${{ runner.os }}-builds-${{ github.sha }}
test_programs:
name: Test Programs
runs-on: ubuntu-latest
needs: format_and_lint_programs
steps:
- name: Git Checkout
uses: actions/checkout@v4
- name: Setup Environment
uses: ./.github/actions/setup
with:
cargo-cache-key: cargo-program-tests
cargo-cache-fallback-key: cargo-programs
solana: true
- name: Test Programs
run: pnpm programs:test