Skip to content

ci: run Echidna on PRs #2

ci: run Echidna on PRs

ci: run Echidna on PRs #2

Workflow file for this run

name: Echidna
on:
pull_request:
workflow_dispatch: {}
permissions:
contents: read
concurrency:
group: echidna-fast-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
env:
NODEJS_VERSION: '20'
ECHIDNA_IMAGE: ghcr.io/crytic/echidna/echidna:v2.3.1
jobs:
echidna-fast:
name: Echidna (fast) / ${{ matrix.contract }}
runs-on: ubuntu-latest
timeout-minutes: 20
strategy:
fail-fast: false
matrix:
contract:
- EchidnaStakeRegistryHarness
- EchidnaPriceOracleHarness
- EchidnaPostageStampHarness
- EchidnaRedistributionHarness
- EchidnaRedistributionClaimHarness
- EchidnaSystemHarness
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js and Yarn
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODEJS_VERSION }}
cache: yarn
- name: Install dependencies
run: yarn install --frozen-lockfile
- name: Run Echidna (fast)
env:
ECHIDNA_CONFIG: echidna/echidna.ci.fast.yaml
ECHIDNA_CONTRACT: ${{ matrix.contract }}
ECHIDNA_TIMEOUT: '900'
run: yarn echidna
- name: Upload reproducers and logs
if: failure()
uses: actions/upload-artifact@v4
with:
name: echidna-fast-${{ matrix.contract }}
path: |
echidna/logs/
echidna/corpus/by-contract/
crytic-export/
if-no-files-found: warn
retention-days: 14