chore: github tag, release automation #86
Workflow file for this run
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: | |
| merge_group: | |
| push: | |
| branches: | |
| - main | |
| jobs: | |
| # INSTALL DEPS | |
| install: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: "22.17.0" | |
| - name: Enable Corepack | |
| run: corepack enable | |
| - name: Install deps via Yarn | |
| run: yarn install --immutable | |
| - name: Zip node_modules and yarn state | |
| run: tar czf yarn_node_modules.tar.gz node_modules/ .yarn/install-state.gz | |
| - name: Upload deps artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: yarn_node_modules.tar.gz | |
| path: yarn_node_modules.tar.gz | |
| # TEST | |
| test: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 25 | |
| needs: [install] | |
| env: | |
| DISPLAY: :0 | |
| VITEST_SEGFAULT_RETRY: 3 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: "22.17.0" | |
| - name: Enable Corepack | |
| run: corepack enable | |
| - name: Download deps cache artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: yarn_node_modules.tar.gz | |
| - name: Unzip node_modules and yarn state | |
| run: tar xzf yarn_node_modules.tar.gz | |
| - name: Append GitHub Access Token to .env | |
| run: echo "ETH_MAINNET_RPC=${{ secrets.ETH_MAINNET_RPC }}" >> .env | |
| - name: Install Anvil | |
| uses: foundry-rs/foundry-toolchain@v1 | |
| with: | |
| version: nightly | |
| - name: Run tests | |
| uses: nick-fields/retry@v2 | |
| with: | |
| timeout_minutes: 5 | |
| max_attempts: 3 | |
| command: yarn test | |
| # LINT, TYPECHECK, AUDIT | |
| ci-checks: | |
| runs-on: ubuntu-latest | |
| needs: [install] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: "22.17.0" | |
| - name: Enable Corepack | |
| run: corepack enable | |
| - name: Download deps cache artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: yarn_node_modules.tar.gz | |
| - name: Unzip node_modules and yarn state | |
| run: tar xzf yarn_node_modules.tar.gz | |
| - name: Lint | |
| run: yarn lint | |
| - name: Audit CI | |
| run: yarn npm audit --no-deprecations | |
| - name: Check types | |
| run: yarn typecheck |