Skip to content

fix(cli): show Fix commands before Reproduce commands on all surfaces#1168

Merged
gregmagolan merged 1 commit into
mainfrom
fix/fix-before-reproduce
May 31, 2026
Merged

fix(cli): show Fix commands before Reproduce commands on all surfaces#1168
gregmagolan merged 1 commit into
mainfrom
fix/fix-before-reproduce

Conversation

@gregmagolan
Copy link
Copy Markdown
Member

Show the Fix command before the Reproduce command on every surface.

When a task surfaces both kinds of copy-pasteable command blocks, the actionable Fix command (what to run to resolve the failure — aspect lint --fix, aspect format, etc.) should lead, and the Reproduce command (how CI ran the task) should follow. Previously the relative order was decided in several independent places and was inconsistent: build/test, lint, and delivery rendered Reproduce-then-Fix, while format and gazelle already led with Fix.

This makes the order uniform (Fix → Reproduce) across:

  • the CLI terminal output (print_repro_and_fix),
  • the GitHub status-check run body and Buildkite annotation (the per-kind details templates — build/test, lint, delivery swapped; format/gazelle already Fix-first),
  • the rolled-up GitHub PR comment (the aggregator template).

format and gazelle already rendered the Fix block before the Reproduce block (Fix sits mid-body, Reproduce at the end); their relative order already satisfied the requirement, so they're unchanged.


Changes are visible to end-users: yes

  • Searched for relevant documentation and updated as needed: no
  • Breaking change (forces users to change their own code or config): no
  • Suggested release notes appear below: yes

Suggested release notes

  • On task failures, the "Fix" command now appears before the "Reproduce" command on the CLI, GitHub status checks, Buildkite annotations, and PR comments.

Test plan

  • New test cases added: lint_results_test.axl asserts the Fix block renders before the Reproduce block in the details body (verified the assertion fails if the order is flipped back).
  • Covered by existing test cases: full aspect tests axl + the template-snapshot dev tests (bazel-results, lint, format, gazelle, delivery, bk-annotation, pr-comment) render without error; the PR-comment snapshot shows ## 🛠️ Fix before ## 🔁 Reproduce.

The actionable Fix command (what to run to fix the failure — e.g.
`aspect lint --fix`, `aspect format`) now leads, and the Reproduce
command (how CI ran the task) follows, consistently across every
surface: the CLI terminal output, the GitHub status-check run body, the
Buildkite annotation, and the rolled-up GitHub PR comment.

The relative order was previously decided in several independent places
and was inconsistent — build/test, lint, and delivery rendered
Reproduce-then-Fix, while format and gazelle were already Fix-first.
This swaps the CLI printer (`print_repro_and_fix`), the build/test, lint,
and delivery details templates, and the PR-comment aggregator template
to Fix-then-Reproduce; format and gazelle already led with Fix.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@aspect-workflows
Copy link
Copy Markdown

aspect-workflows Bot commented May 31, 2026

✨ Aspect Workflows Tasks

📅 Sun May 31 06:48:06 UTC 2026

⚠️ 2 flagged tasks

  • ⚠️ delivery (delivery-gha) · ⏱ 26.1s · ✨ Aspect · 🐙 GitHub Actions · ☑️ Check
    💬 Delivery complete (2 warn · 3 skipped)
  • ⚠️ delivery (delivery-gha-debug) · ⏱ 26.4s · ✨ Aspect · 🐙 GitHub Actions · ☑️ Check
    💬 Delivery complete (2 warn · 3 skipped)

✅ 17 successful tasks

  • ✅ build (build-gha) · ⏱ 36.4s · ✨ Aspect · 🐙 GitHub Actions · ☑️ Check
    💬 Bazel build complete (154 built)
  • ✅ build (build-gha-debug) · ⏱ 2m 46s · ✨ Aspect · 🐙 GitHub Actions · ☑️ Check
    💬 Bazel build complete (154 built)
  • ✅ buildifier (buildifier-gha) · ⏱ 13.6s · ✨ Aspect · 🐙 GitHub Actions · ☑️ Check
    💬 Format complete (clean)
  • ✅ buildifier (buildifier-gha-debug) · ⏱ 17.9s · ✨ Aspect · 🐙 GitHub Actions · ☑️ Check
    💬 Format complete (clean)
  • ✅ buildifier (buildifier-gha-ephemeral) · ⏱ 40.9s · 🐙 GitHub Actions · ☑️ Check
    💬 Format complete (clean)
  • ✅ format (format-gha) · ⏱ 13.3s · ✨ Aspect · 🐙 GitHub Actions · ☑️ Check
    💬 Format complete (clean)
  • ✅ format (format-gha-debug) · ⏱ 25.8s · ✨ Aspect · 🐙 GitHub Actions · ☑️ Check
    💬 Format complete (clean)
  • ✅ format (format-gha-ephemeral) · ⏱ 2m · 🐙 GitHub Actions · ☑️ Check
    💬 Format complete (clean)
  • ✅ gazelle (gazelle-from-source-gha) · ⏱ 13.7s · ✨ Aspect · 🐙 GitHub Actions · ☑️ Check
    💬 Gazelle complete (clean)
  • ✅ gazelle (gazelle-from-source-gha-debug) · ⏱ 23.5s · ✨ Aspect · 🐙 GitHub Actions · ☑️ Check
    💬 Gazelle complete (clean)
  • ✅ gazelle (gazelle-gha) · ⏱ 17s · ✨ Aspect · 🐙 GitHub Actions · ☑️ Check
    💬 Gazelle complete (clean)
  • ✅ gazelle (gazelle-gha-debug) · ⏱ 17.2s · ✨ Aspect · 🐙 GitHub Actions · ☑️ Check
    💬 Gazelle complete (clean)
  • ✅ gazelle (gazelle-gha-ephemeral) · ⏱ 1m 9s · 🐙 GitHub Actions · ☑️ Check
    💬 Gazelle complete (clean)
  • ✅ lint (lint-gha) · ⏱ 12.9s · ✨ Aspect · 🐙 GitHub Actions · ☑️ Check
    💬 Lint complete (clean)
  • ✅ lint (lint-gha-debug) · ⏱ 20.3s · ✨ Aspect · 🐙 GitHub Actions · ☑️ Check
    💬 Lint complete (clean)
  • ✅ test (test-gha) · ⏱ 21.4s · ✨ Aspect · 🐙 GitHub Actions · ☑️ Check
    💬 Bazel test complete (25/25 passed · 25 cached)
  • ✅ test (test-gha-debug) · ⏱ 1m 22s · ✨ Aspect · 🐙 GitHub Actions · ☑️ Check
    💬 Bazel test complete (25/25 passed · 25 cached)

🔁 Reproduce

⚠️ delivery (delivery-gha · delivery-gha-debug)

# CI ran --mode=selective; --mode=always --track-state=false for off-runner with no state backend.
cd examples/deliverable
aspect delivery --mode=always --track-state=false --dry-run=true

Install aspect: docs.aspect.build/cli/install


⏱ Last updated Sun May 31 06:52:08 UTC 2026 · 📊 GitHub API quota 4,158/15,000 (28% used, resets in 19m)
🚀 Powered by Aspect CLI (v0.0.0-dev)  |  Aspect Build · X · LinkedIn · YouTube

@gregmagolan gregmagolan merged commit d3fc31a into main May 31, 2026
58 checks passed
@gregmagolan gregmagolan deleted the fix/fix-before-reproduce branch May 31, 2026 16:09
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.

1 participant