on: pull_request: paths: - target_chains/ethereum/contracts/** - governance/xc_admin/packages/xc_admin_common/** - .github/workflows/ci-ethereum-contract.yml push: branches: - main name: Ethereum Contract jobs: check: name: Foundry tests runs-on: ubuntu-latest defaults: run: working-directory: target_chains/ethereum/contracts/ steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v4 with: node-version-file: "package.json" # Libusb is a build requirement for the node-hid package and so pnpm # install will fail if this isn't in the build environment and if a # precompiled binary isn't found. - name: Install libusb run: sudo apt-get update && sudo apt-get install -y libusb-1.0-0-dev libudev-dev - uses: pnpm/action-setup@v4 name: Install pnpm with: run_install: true - name: Install Foundry uses: foundry-rs/foundry-toolchain@v1 with: version: v0.3.0 - name: Install Forge dependencies run: pnpm run install-forge-deps - name: Run tests run: forge test -vvv --deny-warnings - name: Run snapshot run: NO_COLOR=1 forge snapshot --match-contract GasBenchmark >> $GITHUB_STEP_SUMMARY