fix(test-insights): stop pinning the Buildkite plugin to its first release - #12426
Conversation
|
This pull request is part of a Mergify stack:
|
Merge Protections🟢 All 7 merge protections satisfied — ready to merge. Show 7 satisfied protections🟢 ⛓️ Depends-On RequirementsRequirement based on the presence of
🟢 🤖 Continuous Integration
🟢 👀 Review Requirements
🟢 Enforce conventional commitMake sure that we follow https://www.conventionalcommits.org/en/v1.0.0/
🟢 🔎 Reviews
🟢 📕 PR description
🟢 🚦 Auto-queueWhen all merge protections are satisfied, this pull request will be queued automatically. |
There was a problem hiding this comment.
Pull request overview
This PR fixes the Buildkite plugin version used in the Test Insights upload snippets by removing the hardcoded #v1 pin and instead sourcing the version from src/data/buildkite-plugin-version.json, matching how markdown snippets already get the version substituted at build time.
Changes:
- Import
~/data/buildkite-plugin-version.jsonin the two affected.astrocomponents. - Interpolate
buildkitePluginVersion.versioninto the Buildkite plugin reference so the rendered docs track the configured version (currentlyv6).
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| src/components/BuildkiteCIUploadStepMatrix.astro | Replaces hardcoded #v1 with an interpolated version from the shared JSON data source. |
| src/components/BuildkiteCIUploadStep.astro | Replaces hardcoded #v1 with an interpolated version from the shared JSON data source. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
479ee49 to
86c9072
Compare
Revision history
|
Every test framework recipe ends by sending the reader to the Test Insights dashboard, and each one carried its own copy of that sentence. Ten of the copies had drifted onto `https://dashboard.mergify.com/test-insights/jobs`, which is not a page — Test Insights has Prevention, Detection and Mitigation — and an eleventh named the dashboard with no link at all. #12490 has since corrected all eleven in place, so the links work today; what it could not fix is why one stale URL became ten broken links, which is that the sentence exists eleven times. So the paragraph becomes `_review-in-test-insights.mdx`, included by the recipes. The rendered text is byte-identical to what #12490 shipped; the next time that link moves it is one edit rather than eleven, and a recipe cannot quietly drift out of step with its siblings again. Shared partials are already how these files handle the Buildkite quarantine setup and the upload steps. Separately, two inline GitHub Actions examples were missing the `continue-on-error: true` that the quarantine partial they include requires: the Gradle example in the JUnit recipe and the `rake test` example in the Minitest one. Without it a failing test step ends the job before the upload step runs, so the run that most needs a report produces none — and in both files the sibling example directly above already had the line, so this was drift rather than a deliberate difference. Part of MRGFY-8720 Change-Id: I482ec81d7710f37d83dcffdf65abc029b73437fc
…lease The two Buildkite upload snippets hardcode `mergifyio/mergify-ci#v1` in their `.astro` source. `v1` is the oldest of six releases — `v1` through `v6` are distinct tags, not a floating major — so every reader who copies one of these snippets pins the first version ever cut and never receives anything shipped since. Nothing else in the docs does this. Every Buildkite page writes `@@BUILDKITE_PLUGIN_VERSION@@`, which `plugins/remark-buildkite-version.ts` substitutes from `src/data/buildkite-plugin-version.json` at build time. That plugin only visits markdown nodes, so the sentinel does nothing inside an `.astro` component and these two were left pinning by hand. The fix is the one the GitHub Actions counterpart already uses: import the data file and interpolate it, exactly as `MergifyCIUploadStepMatrix.astro` does with `gha-mergify-ci-version.json`. Bumping `v1` to `v6` would have recreated the same problem one release later. This matters now because the commit at the bottom of this stack recommends the plugin's `job_name` property again. A reader who copies the matrix snippet and pins `v1` gets a plugin where that property predates the code reading it — the docs would recommend a knob that is dead in the version the snippet installs. The non-matrix component has the same pin and is the more widely used of the two: eleven test-framework recipes render it. Both are fixed here, since it is one bug with one cause. Verified on the built output: all 78 rendered occurrences of the plugin reference now read `v6`, none read `v1`, and no template literal leaked into the HTML. `pnpm check` 0 errors, `pnpm build` 384 pages, `pnpm test` 144 passed, `pnpm check:internal-leaks` clean. Refs MRGFY-8720 Change-Id: Ic5504d661f0c14e668fbb7b8cf55cf86b9dd5788
86c9072 to
f03d9da
Compare
Merge Queue Status
This pull request spent 3 minutes 21 seconds in the queue, including 2 minutes 45 seconds running CI. Required conditions to merge
|
The two Buildkite upload snippets hardcode
mergifyio/mergify-ci#v1in their.astrosource.v1is the oldest of six releases —v1throughv6aredistinct tags, not a floating major — so every reader who copies one of these
snippets pins the first version ever cut and never receives anything shipped
since.
Nothing else in the docs does this. Every Buildkite page writes
@@BUILDKITE_PLUGIN_VERSION@@, whichplugins/remark-buildkite-version.tssubstitutes from
src/data/buildkite-plugin-version.jsonat build time. Thatplugin only visits markdown nodes, so the sentinel does nothing inside an
.astrocomponent and these two were left pinning by hand. The fix is the onethe GitHub Actions counterpart already uses: import the data file and
interpolate it, exactly as
MergifyCIUploadStepMatrix.astrodoes withgha-mergify-ci-version.json.Bumping
v1tov6would have recreated the same problem one release later.This matters now because the commit at the bottom of this stack recommends the
plugin's
job_nameproperty again. A reader who copies the matrix snippet andpins
v1gets a plugin where that property predates the code reading it — thedocs would recommend a knob that is dead in the version the snippet installs.
The non-matrix component has the same pin and is the more widely used of the
two: eleven test-framework recipes render it. Both are fixed here, since it is
one bug with one cause.
Verified on the built output: all 78 rendered occurrences of the plugin
reference now read
v6, none readv1, and no template literal leaked intothe HTML.
pnpm check0 errors,pnpm build384 pages,pnpm test144passed,
pnpm check:internal-leaksclean.Refs MRGFY-8720
Depends-On: #12417