diff --git a/.woodpecker/ci.yml b/.woodpecker/ci.yml index 6191464..c7d5c66 100644 --- a/.woodpecker/ci.yml +++ b/.woodpecker/ci.yml @@ -105,6 +105,46 @@ steps: npm test ' + - name: seed-transpile-check + depends_on: [bootstrap-deps] + image: registry.niovi.voyage/harb/node-ci:latest + when: + - event: pull_request + path: + include: + - tools/push3-transpiler/** + - tools/push3-evolution/seeds/** + commands: + - | + bash -c ' + set -euo pipefail + cd tools/push3-transpiler + npm install --silent + cd ../.. + export PATH=/root/.foundry/bin:$PATH + failed=0 + for seed in tools/push3-evolution/seeds/*.push3; do + name=$(basename "$seed") + echo "--- Transpiling $name ---" + if ! npx tsx tools/push3-transpiler/src/index.ts "$seed" onchain/src/OptimizerV3Push3.sol; then + echo "FAIL: $name failed to transpile" >&2 + failed=1 + continue + fi + echo "--- Compiling $name ---" + if ! (cd onchain && forge build --silent); then + echo "FAIL: $name transpiled but Solidity compilation failed" >&2 + failed=1 + fi + done + git checkout onchain/src/OptimizerV3Push3.sol + if [ "$failed" -ne 0 ]; then + echo "ERROR: One or more seeds failed transpile+compile check" >&2 + exit 1 + fi + echo "All seeds transpile and compile successfully." + ' + - name: single-package-manager depends_on: [] image: registry.niovi.voyage/harb/node-ci:latest