chore: update GitHub Actions Node and pnpm setup #28
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| pull_request: | |
| push: | |
| branches: | |
| - main | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ci-${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| changesets: | |
| name: Changeset Check | |
| if: github.event_name == 'pull_request' && !startsWith(github.head_ref, 'changeset-release/') | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v4.2.0 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6.1.0 | |
| with: | |
| node-version: 24 | |
| cache: pnpm | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Require changeset for package changes | |
| run: pnpm exec changeset status --since=origin/${{ github.base_ref }} | |
| node: | |
| name: Typecheck and Build | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v4.2.0 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6.1.0 | |
| with: | |
| node-version: 24 | |
| cache: pnpm | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Typecheck workspaces | |
| run: pnpm -r --if-present typecheck | |
| - name: Build publishable package | |
| run: pnpm --filter @abstract-foundation/mpp build | |
| contracts: | |
| name: Contracts Test | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup Foundry | |
| uses: foundry-rs/foundry-toolchain@v1 | |
| - name: Install Solidity dependencies | |
| working-directory: packages/contracts | |
| run: forge soldeer install | |
| - name: Run Foundry tests | |
| working-directory: packages/contracts | |
| run: forge test -v |