Add update-os-coverage skill for Helix queue OS version updates#126384
Add update-os-coverage skill for Helix queue OS version updates#126384richlander merged 21 commits intomainfrom
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Tagging subscribers to this area: @dotnet/runtime-infrastructure |
There was a problem hiding this comment.
Pull request overview
Adds a new Copilot skill (update-os-coverage) to guide/automate updating OS version references across Helix queue and related pipeline definitions (and auditing against the supported OS matrix).
Changes:
- Introduces a new skill document describing an end-to-end workflow for OS version updates in Helix queue definitions.
- Documents inputs, key files, scanning/updating steps, validation steps, and optional cross-branch / supported-os auditing guidance.
- Fix relative link to os-onboarding.md (use repo-root absolute path) - Make supported-os.json link version-agnostic - Add docs/workflow/using-docker.md to scan and validation grep commands - Clarify wording on which value parts to update Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This comment has been minimized.
This comment has been minimized.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Address remaining Copilot code review suggestions: - Note that _internal counterparts exist and must also be updated - Add Alpine edge as a special case in the naming conventions table - Add AI-generated content disclosure note for PR creation step Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Fix _internal variants wording: 'Most' -> 'Some', conditional guidance - Add ArmArch suffix and correct ARM host queue guidance - Remove head -10 limit from release branch scan - Make supported-os.json cross-reference version-agnostic Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This comment has been minimized.
This comment has been minimized.
- Use relative path for OS onboarding guide in Reference section, matching the Key files section - Add Windows/macOS VM queue exclusion to 'When NOT to use' Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This comment has been minimized.
This comment has been minimized.
- Fix _internal example to use actual variable names (not distro-specific) - Clarify docs/workflow/using-docker.md scope (build images only) - Add curl fallback for gh search when not authenticated - Note AzureLinux's role as host queue in naming conventions - Add shallow clone caveat for release branch scanning - Note jq/curl prerequisites in Process section Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Distro versions expected to ship within one quarter that already have a prereqs container image are good candidates for early onboarding to main. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This comment has been minimized.
This comment has been minimized.
Document which distros are behind the extra-platforms pipeline guard vs the default PR pipeline, and instruct the agent to tell the user when /azp run runtime-extra-platforms is needed to validate changes. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Instead of telling the user to trigger extra-platforms, use gh pr comment to post the /azp run command automatically. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This comment has been minimized.
This comment has been minimized.
> [!NOTE] > This PR was AI/Copilot-generated using the [`update-os-coverage` skill](#126384). ## Summary Update Fedora Helix test queues to use Fedora 44 as the `latest` slot, with Fedora 43 remaining as the `oldest` slot. ## Changes | File | Change | |------|--------| | `eng/pipelines/helix-platforms.yml` | Fedora latest: 43 → 44 | | `eng/pipelines/libraries/helix-queues-setup.yml` | extra-platforms Fedora: 43 → 44 | ## Version Details | Version | Slot | EOL | |---------|------|-----| | Fedora 44 | latest (new) | ~2027-06 (estimated) | | Fedora 43 | oldest | 2026-12-09 | | Fedora 42 | removed | 2026-05-13 | ## Verification - ✅ Container image `fedora-44-helix-amd64` confirmed available in [image-info](https://github.com/dotnet/versions/blob/main/build-info/docker/image-info.dotnet-dotnet-buildtools-prereqs-docker-main.json) - ✅ No stale Fedora 43 references remain outside the `oldest` slot - ✅ Variable names unchanged; only values updated ## Full Audit All other Linux distros are current: - **Alpine**: edge / 3.23 ✅ - **Azure Linux**: 3.0 ✅ - **CentOS Stream**: 10 / 9 ✅ - **Debian**: 13 / 13 ✅ - **openSUSE**: 16.0 / 16.0 ✅ - **Ubuntu**: 26.04 / 22.04 ✅ Ref: [OS onboarding guide](https://github.com/dotnet/runtime/blob/main/docs/project/os-onboarding.md) · [.NET OS Support Tracking](dotnet/core#9638) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This comment has been minimized.
This comment has been minimized.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Thanks @hoyosjs. Your comments motivated a more critical review on my part. Your call-outs and the additional review made the skill quite a bit better. |
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This comment has been minimized.
This comment has been minimized.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
🤖 Copilot Code Review — PR #126384Note This review was generated by Copilot using multi-model analysis (Claude Opus 4.6 primary, with GPT-5.2 and Claude Sonnet 4.5 sub-agent perspectives). Holistic AssessmentMotivation: This PR adds a new Copilot skill definition to guide an AI agent through the process of updating OS version references in Helix queue pipeline files. This is well-justified — OS version updates are a recurring, mechanical task that touches multiple files with specific naming conventions, and encoding the procedure as a skill ensures consistency and reduces manual effort. Approach: A single, comprehensive SKILL.md file with a clear step-by-step process (verify image → check EOL → scan references → apply changes → validate → trigger CI → check release branches → cross-reference supported-os → create PR). The document has been through 19+ rounds of iterative refinement and all technical claims have been verified against the actual pipeline files. Summary: ✅ LGTM. This is a thorough, well-structured skill document. All queue format patterns, naming conventions, Detailed Findings✅ Technical Accuracy — Verified against pipeline filesAll core technical claims were cross-checked against the actual source files:
✅ Conventions — Consistent with sibling skills
✅ Structure & Completeness — Well-organized workflowThe 9-step process covers the full lifecycle: verification → research → scanning → editing → validation → CI → release branches → cross-referencing → PR creation. The "When NOT to use" section clearly scopes boundaries. The audit mode section provides a separate workflow for coverage auditing. 💡 Scope Clarity — Consider stating "Linux-focused" earlier (flagged by GPT-5.2)The title and intro say "OS version references" broadly. The Linux-only scope is only clarified later in "When NOT to use" (line 33: "Updating Windows or macOS Helix queues…"). Consider adding a brief "(primarily Linux distros)" qualifier in the opening line to prevent an agent from attempting Windows/macOS queue updates before reaching the exclusion section. 💡 Alpine musl_arm64 Dual-Table Appearance — Minor clarity improvement (flagged by Sonnet 4.5, GPT-5.2 in different forms)Alpine (versioned) 💡 Search Strategy — Consider searching by old version tokens too (flagged by GPT-5.2)Step 3 (line 120) suggests 💡 Shallow Clone Detection — Helpful agent hint (flagged by Sonnet 4.5)Line 231 mentions shallow clones may not have release branches visible and provides a
|
Note
This PR was generated with assistance from GitHub Copilot CLI.
Add a new Copilot skill (
update-os-coverage) that automates updating OS version references in Helix queue definition files.What it does
The skill guides through the full process of updating OS versions in Helix pipelines:
Key files it operates on
eng/pipelines/helix-platforms.yml(primary)eng/pipelines/libraries/helix-queues-setup.ymleng/pipelines/coreclr/templates/helix-queues-setup.ymleng/pipelines/installer/helix-queues-setup.ymleng/pipelines/common/templates/pipeline-with-resources.ymldocs/workflow/using-docker.mdReferences the OS onboarding guide as the authoritative source for policies and processes.
Tested by running the skill against a Fedora 43→44 update — it correctly updated the 2 files with Fedora references, verified image availability, and validated results.