Skip to content

Fix stale benchmark badge#53

Merged
konard merged 2 commits intomainfrom
issue-52-470c812b85df
Apr 18, 2026
Merged

Fix stale benchmark badge#53
konard merged 2 commits intomainfrom
issue-52-470c812b85df

Conversation

@konard
Copy link
Copy Markdown
Member

@konard konard commented Apr 18, 2026

Fixes #52

Summary

  • Replaced the stale README CI and Benchmark workflow-name badges with the active CI/CD Pipeline badge scoped to main via .github/workflows/release.yml.
  • Added scripts/check-readme-badges.rs and wired it into the CI/CD lint job so markdown documentation cannot reintroduce deleted workflow badges, legacy workflow query links, missing workflow-file badges, or unscoped workflow badges.
  • Added the requested case-study package under docs/case-studies/issue-52, including downloaded badge SVGs, Actions run metadata, relevant logs, the pre-fix README artifact, and root-cause analysis.

Root Cause

The old dedicated Benchmark workflow was removed during the workflow migration in commit 8def08d, but README badges still pointed to legacy workflow-name URLs. The downloaded SVG for the old Benchmark badge rendered as Benchmark - failing, while the current CI/CD Pipeline badge for main rendered as passing. The historical failing Benchmark logs show the old workflow running against stable Rust while old dependencies still required nightly-only features; that workflow is no longer active on main.

Reproduction

The saved pre-fix README is at docs/case-studies/issue-52/raw/readme-before-fix.md.

rustc scripts/check-readme-badges.rs -o /tmp/check-readme-badges
/tmp/check-readme-badges docs/case-studies/issue-52/raw/readme-before-fix.md

That command fails as expected; see docs/case-studies/issue-52/raw/pre-fix-badge-check.log.

Verification

  • rustc scripts/check-readme-badges.rs -o /tmp/check-readme-badges
  • /tmp/check-readme-badges passed on the fixed documentation.
  • rust-script scripts/check-readme-badges.rs
  • rust-script scripts/check-file-size.rs
  • cargo fmt --all -- --check
  • cargo clippy --all-targets --all-features
  • cargo test --all-features --verbose
  • cargo test --doc --verbose

Verification logs are saved in docs/case-studies/issue-52/raw/.

Adding .gitkeep for PR creation (default mode).
This file will be removed when the task is complete.

Issue: #52
@konard konard self-assigned this Apr 18, 2026
@konard konard changed the title [WIP] Badge shows benchmark is failing Fix stale benchmark badge Apr 18, 2026
@konard konard marked this pull request as ready for review April 18, 2026 15:25
@konard
Copy link
Copy Markdown
Member Author

konard commented Apr 18, 2026

Solution summary

Implemented and pushed the fix to PR 53: #53

Commit: 4ca0a6c0068b9e35b797340c9563a700344880a0

What changed:

  • Replaced the stale README CI and Benchmark workflow-name badges with the active file-based CI/CD Pipeline badge scoped to main in README.md.
  • Added scripts/check-readme-badges.rs to catch legacy workflow badge URLs, missing branch=main, and badge links to missing workflow files.
  • Wired that check into CI at .github/workflows/release.yml.
  • Added the requested investigation package under docs/case-studies/issue-52/analysis.md, including preserved badge SVGs, workflow logs, raw API data, timeline, root causes, and solution options.
  • Updated PR title/body and marked PR 53 ready.

Root cause found: the README still referenced deleted legacy workflows by workflow name. The old Benchmark workflow’s last runs failed after it tried to install an old nightly toolchain while the checked-out repo selected stable, causing #![feature] may not be used on the stable release channel. The replacement follows GitHub’s current workflow status badge format: https://docs.github.com/en/actions/monitoring-and-troubleshooting-workflows/monitoring-workflows/adding-a-workflow-status-badge

Verification:

  • Local reproducer confirmed the old README badge fails the new badge check.
  • rust-script scripts/check-readme-badges.rs
  • rust-script scripts/check-file-size.rs
  • cargo fmt --all -- --check
  • cargo clippy --all-targets --all-features
  • cargo test --all-features --verbose
  • cargo test --doc --verbose
  • Fresh GitHub Actions run 24607776539 passed on the PR commit, including lint, coverage, Ubuntu/macOS/Windows tests, and package build: https://github.com/linksplatform/doublets-rs/actions/runs/24607776539

The working tree is clean, the PR is non-draft, and GitHub reports the merge state as clean.

Next useful follow-up:

  1. Add a new dedicated benchmark workflow later if maintainers still want a separate Benchmark badge, using a current toolchain and file-based badge URL.

This summary was automatically extracted from the AI working session output.

@konard
Copy link
Copy Markdown
Member Author

konard commented Apr 18, 2026

🤖 Solution Draft Log

This log file contains the complete execution trace of the AI solution draft process.

💰 Cost estimation:

  • Model: gpt-5.4
  • Provider: OpenAI
  • Public pricing estimate: unknown
  • Token usage: 330,038 input, 36,047 output, 12,785,920 cache read

📊 Context and tokens usage:

Total: (330.0K + 12.8M cached) input tokens, 36.0K output tokens

🤖 Models used:

  • Tool: OpenAI Codex
  • Requested: gpt-5.4
  • Model: GPT-5.4 (gpt-5.4)

📎 Log file uploaded as Repository (38180KB)


Now working session is ended, feel free to review and add any feedback on the solution draft.

@konard
Copy link
Copy Markdown
Member Author

konard commented Apr 18, 2026

✅ Ready to merge

This pull request is now ready to be merged:

  • All CI checks have passed
  • No merge conflicts
  • No pending changes

Monitored by hive-mind with --auto-restart-until-mergeable flag

@konard konard merged commit 735c3c4 into main Apr 18, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Badge shows benchmark is failing

1 participant