Update eth-gas-reporter #4896
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: checks | |
on: | |
push: | |
branches: | |
- master | |
- next-v* | |
- release-v* | |
pull_request: {} | |
workflow_dispatch: {} | |
concurrency: | |
group: checks-${{ github.ref }} | |
cancel-in-progress: true | |
env: | |
NODE_OPTIONS: --max_old_space_size=5120 | |
jobs: | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up environment | |
uses: ./.github/actions/setup | |
- run: npm run lint | |
tests: | |
runs-on: ubuntu-latest | |
env: | |
FORCE_COLOR: 1 | |
GAS: true | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up environment | |
uses: ./.github/actions/setup | |
- name: Run tests and generate gas report | |
run: npm run test | |
- name: Check linearisation of the inheritance graph | |
run: npm run test:inheritance | |
- name: Check proceduraly generated contracts are up-to-date | |
run: npm run test:generation | |
- name: Compare gas costs | |
uses: ./.github/actions/gas-compare | |
if: github.base_ref == 'master' | |
with: | |
token: ${{ github.token }} | |
tests-upgradeable: | |
runs-on: ubuntu-latest | |
env: | |
FORCE_COLOR: 1 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 # Include history so patch conflicts are resolved automatically | |
- name: Set up environment | |
uses: ./.github/actions/setup | |
- name: Copy non-upgradeable contracts as dependency | |
run: | |
cp -rnT contracts node_modules/@openzeppelin/contracts | |
- name: Transpile to upgradeable | |
run: bash scripts/upgradeable/transpile.sh | |
- name: Run tests | |
run: npm run test | |
- name: Check linearisation of the inheritance graph | |
run: npm run test:inheritance | |
- name: Check storage layout | |
uses: ./.github/actions/storage-layout | |
if: github.base_ref == 'master' | |
continue-on-error: ${{ contains(github.event.pull_request.labels.*.name, 'breaking change') }} | |
with: | |
token: ${{ github.token }} | |
tests-foundry: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Install Foundry | |
uses: foundry-rs/foundry-toolchain@v1 | |
with: | |
version: nightly | |
- name: Run tests | |
run: forge test -vv | |
coverage: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up environment | |
uses: ./.github/actions/setup | |
- run: npm run coverage | |
- uses: codecov/codecov-action@v3 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
slither: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up environment | |
uses: ./.github/actions/setup | |
- run: rm foundry.toml | |
- uses: crytic/[email protected] | |
with: | |
node-version: 18.15 | |
codespell: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Run CodeSpell | |
uses: codespell-project/[email protected] | |
with: | |
check_hidden: true | |
check_filenames: true | |
skip: package-lock.json,*.pdf |