Example project-foundry #1485
Workflow file for this run
This file contains 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: Main | |
on: | |
pull_request: | |
push: | |
branches: [main] | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
jobs: | |
lint: | |
name: Lint | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
node-version: ["Node 20"] | |
steps: | |
- name: Clone repository | |
uses: actions/checkout@v4 | |
- name: Setup | |
uses: ./.github/actions/setup | |
- name: Typecheck | |
run: pnpm typecheck | |
- name: Lint | |
run: pnpm lint | |
build: | |
name: Build | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
node-version: ["Node 20"] | |
steps: | |
- name: Clone repository | |
uses: actions/checkout@v4 | |
- name: Setup | |
uses: ./.github/actions/setup | |
- name: Build | |
run: pnpm build | |
test: | |
name: Test [core] | |
runs-on: "ubuntu-latest" | |
timeout-minutes: 3 | |
strategy: | |
fail-fast: false | |
matrix: | |
database: [Postgres, SQLite] | |
node-version: ["Node 18", "Node 20"] | |
steps: | |
- name: Clone repository | |
uses: actions/checkout@v4 | |
- name: Setup Postgres | |
if: ${{ matrix.database == 'Postgres' }} | |
uses: ikalnytskyi/action-setup-postgres@v4 | |
id: postgres | |
- name: Setup | |
uses: ./.github/actions/setup | |
- name: Test | |
run: pnpm test:core | |
env: | |
ANVIL_FORK_URL: ${{ secrets.ANVIL_FORK_URL }} | |
ANVIL_BLOCK_NUMBER: ${{ secrets.ANVIL_BLOCK_NUMBER }} | |
DATABASE_URL: ${{ matrix.database == 'Postgres' && steps.postgres.outputs.connection-uri || '' }} | |
test-create-ponder: | |
name: Test [create-ponder] | |
runs-on: "ubuntu-latest" | |
timeout-minutes: 3 | |
strategy: | |
fail-fast: false | |
matrix: | |
node-version: ["Node 18", "Node 20"] | |
steps: | |
- name: Clone repository | |
uses: actions/checkout@v4 | |
- name: Setup | |
uses: ./.github/actions/setup | |
- name: Test | |
run: pnpm test:create-ponder | |
env: | |
ETHERSCAN_API_KEY: ${{ secrets.ETHERSCAN_API_KEY }} |