RFC: allow to concretize dynamic arrays in calldata up to N values #43
This file contains hidden or 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: Echidna Compatibility Check | |
| on: | |
| pull_request: | |
| types: [opened, synchronize, reopened] | |
| branches: [main] | |
| workflow_dispatch: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| echidna-build: | |
| name: Build Echidna with local HEVM | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout Echidna | |
| uses: actions/checkout@v4 | |
| with: | |
| repository: crytic/echidna | |
| path: echidna-src | |
| - name: Checkout HEVM | |
| uses: actions/checkout@v4 | |
| with: | |
| path: echidna-src/hevm | |
| - name: Setup uv | |
| uses: astral-sh/setup-uv@v7 | |
| with: | |
| enable-cache: false | |
| - name: Patch stack.yaml | |
| working-directory: echidna-src | |
| shell: uv run --script {0} | |
| run: | | |
| # /// script | |
| # requires-python = ">=3.12" | |
| # dependencies = ["pyyaml"] | |
| # /// | |
| import yaml | |
| with open('stack.yaml', 'r') as f: | |
| data = yaml.safe_load(f) | |
| deps = data.get('extra-deps', []) | |
| deps = [d for d in deps if not (isinstance(d, str) and 'hevm' in d) | |
| and not (isinstance(d, dict) and 'git' in d and 'hevm' in d['git'])] | |
| deps.insert(0, './hevm') | |
| data['extra-deps'] = deps | |
| with open('stack.yaml', 'w') as f: | |
| yaml.dump(data, f) | |
| print("==== Patched stack.yaml ====") | |
| with open('stack.yaml', 'r') as f: | |
| print(f.read()) | |
| - name: Install Nix | |
| uses: nixbuild/nix-quick-install-action@v34 | |
| - name: Build Echidna | |
| working-directory: echidna-src | |
| run: | | |
| # --fast skips optimizations since we only | |
| # care about compilation, not runtime perf. | |
| nix-shell \ | |
| -I nixpkgs=channel:nixpkgs-unstable \ | |
| -p secp256k1 libff gmp ncurses zlib pkg-config stack \ | |
| 'haskell.compiler.ghc984' \ | |
| --run 'stack build --fast \ | |
| --test --no-run-tests \ | |
| --system-ghc --skip-ghc-check && | |
| stack exec --system-ghc --skip-ghc-check \ | |
| -- echidna --help' |