qa-test-results

Interpret Erigon QA workflow results, logs, and artifacts to diagnose test failures.

3.6k|1.5k|Updated May 27, 2019
One-click install
npx skills add https://github.com/erigontech/erigon --skill qa-test-results
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: qa-test-results
Source: https://github.com/erigontech/erigon/tree/main/.claude/skills/qa-test-results
Command: npx skills add https://github.com/erigontech/erigon --skill qa-test-results

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Erigon's qa-* GitHub Actions workflows run for hours on self-hosted runners and produce huge annotated logs, result JSON files, and metric artifacts. This Skill teaches you how to triage a red QA - ... check efficiently: read the verdict from result-<chain>.json, grep the *** report lines, and map each failure mode (sync-time threshold, exec_steps_in_db, Deadline reached, RPC diff mismatches) to its actual root cause instead of dumping hundreds of megabytes of debug logs.

Core Features & Use Cases

  • Verdict-first triage order: Start from result-<chain>.json (outcome + reason), then the *** report lines, then the Erigon debug log and goroutine stack dump only when needed.
  • Failure-mode decoding: Explains the three sync-test failure types (sync-time below 75%, exec_steps_in_db over 300, Deadline reached), the exec-from-zero state-snapshot hash comparison, RPC integration diff mismatches, and RPC performance change-point detection.
  • Workflow and artifact reference: Per-workflow tables covering runner labels, drivers, thresholds, artifact names, and MongoDB/Grafana history for regression comparison.
  • Use Case: A PR shows a red QA - Tip tracking check. Download the artifacts with gh run download, read outcome and reason from the result JSON, and determine in minutes whether it is a performance regression, a crash, or genuinely an infrastructure problem.

Quick Start

Ask the assistant to explain why the QA tip-tracking check failed on a specific GitHub Actions run of the erigon repository.

Frequently Asked Questions about qa-test-results

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I find out why an Erigon QA test failed?

Download the run artifacts with gh run download and read result-<chain>.json first: the outcome and reason fields state the verdict directly. Then grep the step log for lines marked with *** to see the full report block before opening the large Erigon debug log.

What does Deadline reached mean in Erigon QA tip-tracking tests?

Deadline reached means Erigon never reached the chain tip within TOTAL_TIME_SECONDS and the driver could not attribute it to a specific check. It is an Erigon problem requiring investigation, not an infrastructure issue; locate where log progress stopped and read the goroutine stack dump.

What is the exec_steps_in_db threshold in Erigon sync tests?

The tip-tracking driver fails the run when the final exec_steps_in_db metric exceeds 300, meaning undigested execution steps are piling up in the database. The check is only enforced on Erigon 3.5 and later; on 3.4.x it logs a warning and skips.

Does a red RPC performance QA run mean my commit caused a regression?

Not necessarily. RPC performance jobs fail on change-point detection against history, and the job stays red while any change-point issue is open, even from an older regression. Check the issue tracker state before attributing the failure to the commit under test.

Why did qa-exec-from-zero fail when the sync result says SUCCESS?

Exec-from-zero has a second verdict: a state-snapshot hash comparison stored in result-state-hashes-<chain>.json. A mismatched count above zero means the node reached the tip but produced state differing from the published snapshots, indicating an execution or collation bug.

When is a red QA check actually an infrastructure problem?

Only when the test never ran: no test-results artifact exists, test_executed is not true, or an earlier step like the build or datadir rsync failed. A job killed by timeout-minutes shows as cancelled with no report block, unlike a driver-written Deadline reached.