feat: run duplicate pre-hooks just once #80
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: ERC-6900 RI Test CI | |
on: [pull_request, workflow_dispatch] | |
concurrency: | |
group: ${{github.workflow}}-${{github.ref}} | |
cancel-in-progress: true | |
# Runs linter, tests, and inspection checker in parallel | |
jobs: | |
lint: | |
name: Run Linters | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install Foundry | |
uses: foundry-rs/foundry-toolchain@v1 | |
with: | |
version: nightly | |
- run: forge install | |
- run: forge fmt --check | |
- name: "Check out the repo" | |
uses: "actions/checkout@v3" | |
with: | |
submodules: "recursive" | |
- name: "Install Foundry" | |
uses: "foundry-rs/foundry-toolchain@v1" | |
- name: "Install Pnpm" | |
uses: "pnpm/action-setup@v2" | |
with: | |
version: "8" | |
- name: "Install Node.js" | |
uses: "actions/setup-node@v3" | |
with: | |
cache: "pnpm" | |
node-version: "lts/*" | |
- name: "Install the Node.js dependencies" | |
run: "pnpm install" | |
- name: "Lint the contracts" | |
run: "pnpm lint" | |
test-optimized-test-deep: | |
name: Run Forge Tests (optimized-test-deep) | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- name: Install Foundry | |
uses: foundry-rs/foundry-toolchain@v1 | |
with: | |
version: nightly | |
- name: Install forge dependencies | |
run: forge install | |
- name: Build project | |
run: FOUNDRY_PROFILE=optimized-build forge build | |
- name: Run tests | |
run: FOUNDRY_PROFILE=optimized-test-deep forge test -vvv | |
test-default: | |
name: Run Forge Tests (default) | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- name: Install Foundry | |
uses: foundry-rs/foundry-toolchain@v1 | |
with: | |
version: nightly | |
- name: Install forge dependencies | |
run: forge install | |
- name: Build project | |
run: forge build | |
- name: Run tests | |
run: forge test -vvv |