• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

stacklok / toolhive / 24268402333
66%

Build:
DEFAULT BRANCH: main
Ran 10 Apr 2026 11:20PM UTC
Jobs 1
Files 616
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

10 Apr 2026 11:13PM UTC coverage: 65.458% (-0.05%) from 65.511%
24268402333

push

github

web-flow
Add deflake skill for finding and fixing flaky tests (#4746)

* Add deflake skill for finding and fixing flaky tests

Adds a /deflake skill that analyzes GitHub Actions failures on main to
discover, rank, and plan fixes for flaky tests. The skill includes a
Python collection script that deterministically fetches failed run logs
in parallel, extracts test names from Ginkgo and gotestfmt output, and
aggregates failures into a ranked report.

Used this skill to identify and fix the #1 flake (workload lifecycle
E2E test, 12/147 runs) in #4745.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Address review feedback on collect-flakes script

- Extract per-test log context (50 lines before the failure marker)
  before classifying failure mode, so tests in the same run get
  accurate individual mode labels instead of all inheriting the
  first match from the full run log
- Add try/except around future.result() so one failed run doesn't
  crash the script and lose all collected data
- Fix misleading comment about MAX_PAGES covering 300 Main build
  runs — the API returns all workflows' runs, not just Main build

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Fix per-test failure mode extraction in collect-flakes

The previous attempt to extract per-test failure context used a 50-line
window before the [FAIL] summary line, but Ginkgo's [FAILED] reason
line (e.g., "Timed out after 120s") can appear thousands of lines
earlier. Also needed ANSI stripping when searching for [FAILED] markers.

Now searches backwards from the [FAIL] summary to find all [FAILED]
lines in the failure block, uses the earliest one (which has the
actual failure reason), and extracts context spanning all of them.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

56342 of 86073 relevant lines covered (65.46%)

62.59 hits per line

Coverage Regressions

Lines Coverage ∆ File
14
74.44
-5.19% pkg/client/config.go
14
20.11
-8.05% pkg/client/manager.go
11
68.83
-14.29% pkg/client/discovery.go
6
76.15
-5.5% pkg/secrets/keyring/keyctl_linux.go
3
70.0
-3.33% pkg/state/local.go
2
82.29
-0.21% pkg/vmcp/composer/workflow_engine.go
Jobs
ID Job ID Ran Files Coverage
1 24268402333.1 10 Apr 2026 11:20PM UTC 616
65.46
GitHub Action Run
Source Files on build 24268402333
  • Tree
  • List 616
  • Changed 8
  • Source Changed 0
  • Coverage Changed 8
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #24268402333
  • a1aad302 on github
  • Prev Build on main (#24265416574)
  • Next Build on main (#24274112989)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc