cmd/evm, test-fixtures: bump eest zkevm corpus to tests-zkevm@v0.4.1#21648
Merged
Conversation
The corpus moved to ethereum/execution-specs with the tests- prefix (matching benchmark/bal). v0.4.1 fixes the stale EIP-8037 AUTH_BASE gas in the v0.4.0 EIP-7702 fixtures, so the 21 expected-fail divergences tracked by newZkevmFailMatcher now pass; drop those patterns (closes #21563). The #21566 verifier-negative witness_validation fixtures still diverge and stay absorbed. Full blockchain_tests corpus green: 21604/21604.
AskAlexSharov
approved these changes
Jun 6, 2026
taratorio
added a commit
that referenced
this pull request
Jun 8, 2026
…r branch
SonarCloud rejects a branch analysis dated older than the branch's
latest processed one. All merge-queue entries analyze the target branch,
so when entry N's report uploaded after entry N+1's, SonarCloud rejected
it and flipped the commit's SonarCloud check to cancelled ("Date of
analysis cannot be older than the date of the last known analysis").
Seen on 5027d25, where the scans of three stacked queue entries
(#21648, #21584, #21640) raced and #21648's analysis lost.
Restructure so branch analyses can never be submitted out of order:
- merge_group runs keep `make test-sonar-coverage` as a gate check but
no longer scan; they upload coverage-test-all.out as a short-retention
artifact instead.
- A new push-triggered SonarCloud Branch Scan workflow (main and
release/**, matching the branches SonarCloud tracks) downloads that
artifact — the merge queue fast-forwards the target branch to the
already-tested merge commit, so the pushed SHA equals the merge-queue
run's head SHA and the artifact maps to the commit exactly — and runs
only the scanner (~7 min instead of ~25). If no artifact exists
(direct push, expired retention), it falls back to running the tests.
- Scans are serialized per branch FIFO via `concurrency.queue: max`
(GitHub Actions, 2026-05), so every merged commit is analyzed, in
order, with no runs cancelled in merge bursts.
- PR scans (Sonar PR analyses, no main-branch date ordering) and
cache-warming runs are unchanged.
actionlint (≤ v1.7.12) does not know the `queue` key yet, so lint.yml
gains a narrow --ignore alongside the existing workspace one.
A failed analysis upload also no longer involves the gate: scanner
failures now surface on a post-merge run instead, while PR runs keep
exercising the scanner so breakage is still caught before merge.
Sahil-4555
pushed a commit
to Sahil-4555/erigon
that referenced
this pull request
Jun 8, 2026
…r branch (erigontech#21669) ## Problem SonarCloud rejects a branch analysis dated older than the branch's latest processed one. Every merge-queue entry analyzes the target branch, so when queue entry N's report uploads *after* entry N+1's, SonarCloud rejects N's with *"Date of analysis cannot be older than the date of the last known analysis"* and flips that commit's **SonarCloud Code Analysis** check to `cancelled`. Seen on [`5027d259c2`](erigontech@5027d25): three stacked queue entries (erigontech#21648, erigontech#21584, erigontech#21640) scanned concurrently; erigontech#21584 started 6s later but uploaded 21s earlier, so erigontech#21648's analysis was rejected as out of order. No impact on the gate (the scan step is `continue-on-error` and the merge succeeded), but it leaves a spurious failed check on a merged commit. ## Fix Make it structurally impossible to submit branch analyses out of order: - **`merge_group` runs** keep `make test-sonar-coverage` as a gate check but **no longer scan**. They upload `coverage-test-all.out` as a 7-day artifact. - **A new `SonarCloud Branch Scan` workflow** (`push` on `main` + `release/**`, matching the branches SonarCloud tracks) downloads that artifact and runs **only the scanner** (~7 min vs ~25). The merge queue fast-forwards the target branch to the already-tested merge commit, so the pushed SHA equals the merge-queue run's head SHA and the artifact maps to the commit exactly. If no artifact exists (direct push, or expired retention), it falls back to running the tests itself. - Branch scans are serialized per branch **FIFO** via `concurrency.queue: max` ([GitHub Actions, 2026-05](https://github.blog/changelog/2026-05-07-github-actions-concurrency-groups-now-allow-larger-queues/)), so every merged commit is analyzed, in order, with **no runs cancelled** during merge bursts. - **PR scans** (Sonar PR analyses — separate from main-branch date ordering) and **cache-warming** runs are unchanged. A failed analysis upload no longer touches the gate at all: scanner failures now surface on a post-merge run, while PR runs keep exercising the scanner so config/scanner breakage is still caught before merge. ## Notes - `actionlint` (≤ v1.7.12, the latest release) does not know the `queue` concurrency key yet, so `lint.yml` gets a narrow `--ignore` alongside the existing `workspace` one. Removable once actionlint learns the key. - `concurrency.queue: max` is ~1 month old — first real merge-burst after this lands is where FIFO ordering gets exercised live. ## Testing - `make lint`, `actionlint` (CI flags), and `zizmor` (repo config) all clean; the new workflow is finding-free. - The artifact-lookup script was shellchecked and run against live API data: correctly resolves the merge-queue run by head SHA, filters expired artifacts, and degrades to the test-running fallback on a missing artifact or total API failure (never fails the job).
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bumps the
eest_zkevmexecution-witness conformance corpus totests-zkevm@v0.4.1and drops the now-fixed#21563expected-fails.Pin (
test-fixtures.json)ethereum/execution-spec-testszkevm@v0.4.0→ethereum/execution-specstests-zkevm@v0.4.1f1d6dbec741e325a08d1227c2292be1aa228a78003d6d62b4ab5b53aefc8480a→0e3ce037abe98c3190a18d7bb2403fdc2a5c09c904439c6a4e392995ac676f17The corpus moved to
ethereum/execution-specswith thetests-tag prefix, matching theeest_benchmark/eest_devnetentries. sha256/size verified bytools/test-fixtures.shon extract.Matcher (
cmd/evm/zkevmrunner.go)The v0.4.0 EIP-7702 fixtures carried stale EIP-8037 AUTH_BASE gas (
#21563) — erigon was correct, the fixtures were wrong, so they were registered as expected-fails. v0.4.1 regenerates them; they pass now, making those entries obsolete. Dropped the 9staleAuthBaseGaspatterns (Closes #21563); kept the#21566verifier-negative ones.Running
# CI shard: downloads tests-zkevm@v0.4.1, builds evm.race, runs the corpus under -race make eest-spec-zkevm-witness-raceFaster, non-race:
Result
21604/21604 subtests pass; the
#21566fixtures stay the only expected-fails.