| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
Greptile SummaryThis PR wires the Lean Hive simulator suites into GitHub Actions by adding a docker_build job that exports the ethlambda image as an artifact and a run-hive matrix job covering nine simulator categories. A results-checker script parses Hive JSON output and surfaces failures in the step summary.
Confidence Score: 3/5Safe to merge from a runtime-behavior standpoint — no client code is changed — but the new CI jobs will never execute as written. The docker_build job references a detect-changes job that does not exist anywhere in the workflow, making its if condition always false. All nine Hive matrix jobs depend on docker_build, so they are also permanently skipped. The PR's stated goal of running Lean Hive simulators in CI is entirely unmet until this is fixed. There is also a secondary gap where simulation-level crashes produce no uploaded artifacts. ci.yml needs the if condition on docker_build either removed or replaced with a valid guard; the failure-artifact upload condition also needs revision. Important Files Changed
Fix the following 3 code review issues. Work through them one at a time, proposing concise fixes.
---
### Issue 1 of 3
.github/workflows/ci.yml:150-153
**`docker_build` always skipped — `detect-changes` job does not exist**
The `if` condition references `needs.detect-changes.outputs.run_tests`, but `docker_build` has no `needs: detect-changes` declaration and the workflow defines no `detect-changes` job at all. GitHub Actions evaluates `needs.detect-changes` as an empty context, so the expression `needs.detect-changes.outputs.run_tests == 'true'` is permanently `false`. Every run of this workflow will skip `docker_build`, and because `run-hive` declares `needs: docker_build`, every Hive matrix job is skipped as well — making the entire new CI path a no-op.
### Issue 2 of 3
.github/workflows/ci.yml:268-274
**Failure artifacts not uploaded when the Hive simulation itself crashes**
The upload condition `failure() && steps.verify-hive-results.conclusion == 'failure'` only fires when the explicit results-checker script exits non-zero. If the `Run Hive Simulation` step itself fails (e.g., Hive crashes, network timeout, bad Docker image), the `Check Hive Results For Failures` step is skipped (its guard is `if: success()`), leaving `steps.verify-hive-results.conclusion == 'skipped'`. The compound condition is never satisfied, so no artifacts are uploaded on simulation-level failures — exactly the case where diagnostic logs would be most useful.
### Issue 3 of 3
.github/workflows/ci.yml:252-260
**`client` field hard-codes `devnet4` and ignores the `devnet3` nametag**
`clients.yaml` registers both `ethlambda` with `devnet3` and `ethlambda` with `devnet4`, but `client: ethlambda_devnet4` is used unconditionally in the simulation step. The `devnet3` entry appears to be dead config — if it is truly needed for some simulators, it should be referenced in the matrix; if not, it should be removed from `clients.yaml` to avoid confusion.
Reviews (1): Last reviewed commit: "ci: add Hive config for both ethlambda d..." | Re-trigger Greptile |
Sorry, something went wrong.
|
Reviewed this from a security angle since it touches CI and comes from outside the org. Overall it's in good shape — workflow correctly uses pull_request (not pull_request_target), no new secrets are introduced, push: false on the docker build, and check-hive-results.sh is properly quoted. Two hardening suggestions: 1. Add an explicit permissions: block. docker_build:
permissions:
contents: read
...
run-hive:
permissions:
contents: read
...2. Pin ethpandaops/hive-github-action by commit SHA, not by tag. uses: ethpandaops/hive-github-action@1aa8d73dad34de13afbb3113ab16c1a462d2fbc3 # v0.5.0Optional: while you're there, v0.5.0 is a few releases behind latest (v0.6.3) — happy to keep v0.5.0 for parity with ethrex's workflow, or bump if you'd prefer to be on the current release. Neither is blocking — the PR is safe to run as-is from a fork — but these would harden it. Functional/cosmetic feedback to follow in a separate comment. |
Sorry, something went wrong.
I will work on the reviews. Thanks! |
Sorry, something went wrong.
@pablodeymo I implemented the suggested CI hardening updates:
Would appreciate another review when you have time. Thanks! |
Sorry, something went wrong.
There was a problem hiding this comment.
LGTM
Sorry, something went wrong.
|
@dicethedev The new jobs are failing |
Sorry, something went wrong.
There was a problem hiding this comment.
The new jobs are failing
Sorry, something went wrong.
I will check it right way |
Sorry, something went wrong.
@MegaRedHand I’ve just updated my branch, but I’m not seeing any failed jobs or errors to address. |
Sorry, something went wrong.
still waiting @MegaRedHand |
Sorry, something went wrong.
|
@dicethedev there: https://github.com/lambdaclass/ethlambda/actions/runs/26045835459/job/76766701172?pr=364 |
Sorry, something went wrong.
|
@dicethedev can you please solve the merge conflicts? |
Sorry, something went wrong.
There was a problem hiding this comment.
left 2 minor comments
Sorry, something went wrong.
|
It's still failing 😞 |
Sorry, something went wrong.
I will check why is still failing and I will also investigate other clients too. |
Sorry, something went wrong.
can we review this again? Add a fix to it. This fixes the Hive CI failure by moving to a Hive revision that includes the root Cargo.lock required by the lean simulator Dockerfile, tagging the local ethlambda image for both devnet4 and devnet5, and uploading Hive logs/results on any failure. |
Sorry, something went wrong.
|
Sorry, something went wrong.
|
@dicethedev this hive job is failing due to an unauthenticated rate limit: https://github.com/lambdaclass/ethlambda/actions/runs/31505951897/job/93833968504?pr=364 Also, can you check why some tests are failing? This one for example: https://github.com/lambdaclass/ethlambda/actions/runs/31505951897/job/93833968743?pr=364 |
Sorry, something went wrong.
I will look into the issue and revert back Mega |
Sorry, something went wrong.
can you review again and let's see the report this time |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
🗒️ Description / Motivation
This PR adds Hive coverage to CI for the Lean client simulators now available in ethereum/hive.
Hive already has Lean-focused simulator suites, and ethlambda already supports Hive test-driver mode via HIVE_LEAN_TEST_DRIVER. This change wires those pieces into GitHub Actions so PRs can exercise the Lean Hive suites automatically and surface failures with uploaded artifacts.
What Changed
.github/workflows/ci.yml
.github/config/hive/clients.yaml
.github/scripts/check-hive-results.sh
Correctness / Behavior Guarantees
Tests Added / Run
Added CI coverage through the new Hive workflow jobs.
Local verification run:
Not run locally:
Related Issues / PRs
✅ Verification Checklist