| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- name: Main
- on:
- push:
- branches: [main]
- pull_request:
- env:
- CACHE: true
- jobs:
- sanity:
- name: Process Workspace
- runs-on: ubuntu-latest
- outputs:
- members: ${{ steps.filter.outputs.members }}
- steps:
- - name: Git checkout
- uses: actions/checkout@v4
- - name: Setup Environment
- uses: ./.github/actions/setup
- with:
- cargo-cache-key: cargo-audit
- toolchain: lint
- components: audit, miri
- - name: cargo-audit
- run: pnpm cargo-audit
- - name: cargo-miri
- run: pnpm miri
- - name: Filter members
- id: filter
- run: pnpm tsx ./scripts/setup/members.mts
- spellcheck:
- name: Spellcheck
- 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
- components: spellcheck
- - name: cargo-spellcheck
- run: pnpm spellcheck
- process:
- name: Check
- needs: sanity
- runs-on: ubuntu-latest
- strategy:
- matrix:
- member: ${{ fromJson(needs.sanity.outputs.members) }}
- steps:
- - name: Git Checkout
- uses: actions/checkout@v4
- - name: Setup Environment
- uses: ./.github/actions/setup
- with:
- cargo-cache-key: cargo-${{ matrix.member }}
- toolchain: build, format, lint, test
- components: hack
- solana: true
- - name: fmt
- run: pnpm format ${{ matrix.member }}
- - name: clippy
- run: pnpm clippy ${{ matrix.member }}
- - name: cargo-doc
- run: pnpm doc ${{ matrix.member }}
- - name: cargo-hack
- run: pnpm hack ${{ matrix.member }}
- - name: build-sbf
- run: pnpm build-sbf ${{ matrix.member }}
- - name: test
- run: pnpm test ${{ matrix.member }}
|