| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- name: Main
- on:
- push:
- branches: [main]
- pull_request:
- env:
- CACHE: true
- jobs:
- audit:
- name: Audit Dependencies
- 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
- components: audit
- - name: cargo-audit
- run: pnpm audit
- filter:
- name: Filter Workspace
- runs-on: ubuntu-latest
- needs: audit
- 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-filter-workspace
- - name: Filter
- id: filter
- run: pnpm tsx ./scripts/setup/members.mts
- process:
- name: Crate
- needs: filter
- runs-on: ubuntu-latest
- strategy:
- matrix:
- member: ${{ fromJson(needs.filter.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 }}
|