Skip to content

Only run pytest on python directory #6531

Only run pytest on python directory

Only run pytest on python directory #6531

Workflow file for this run

name: Code Coverage
on:
push:
pull_request:
merge_group:
jobs:
detect-changes:
uses: ./.github/workflows/check_diff.yaml
with:
pattern: ^contracts/\|^test/\|^lib/\|^foundry\.toml$\|^lcov\.info$\|^package\.json$\|^yarn\.lock$\|^\.github/workflows/coverage\.yml$
coverage:
name: coverage
runs-on: ubuntu-latest-16core
needs: detect-changes
if: needs.detect-changes.outputs.changed == 'true'
env:
MAINNET_RPC_URL: ${{ secrets.MAINNET_RPC_URL }}
SEPOLIA_RPC_URL: ${{ secrets.SEPOLIA_RPC_URL }}
GNOSIS_CHAIN_RPC_URL: ${{ secrets.GNOSIS_CHAIN_RPC_URL }}
LINEA_RPC_URL: ${{ secrets.LINEA_RPC_URL }}
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: install node
uses: actions/setup-node@v3
with:
node-version: 18.x
- name: install packages
uses: borales/actions-yarn@v4
with:
cmd: install # will run `yarn install` command
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} # if needed
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: nightly-626221f5ef44b4af950a08e09bd714650d9eb77d
cache: false
- name: forge version
run: forge --version
- name: Run coverage
run: |
FOUNDRY_PROFILE=lite FOUNDRY_FUZZ_RUNS=100 forge coverage --report lcov
sudo apt-get install lcov
lcov --remove lcov.info -o lcov.info 'test/*' 'script/*'
- name: Edit lcov.info
run: |
cat lcov.info | sed '/.*\/test\/.*/,/TN:/d' > tmp.info && mv tmp.info lcov.info
- name: Coveralls
uses: coverallsapp/[email protected]
with:
path-to-lcov: "./lcov.info"
parallel: true
finish:
needs: coverage
runs-on: ubuntu-latest
steps:
- name: Coveralls Finished
uses: coverallsapp/[email protected]
with:
parallel-finished: true