Skip to content

chore: add skill-fedora-mirror-injections for Stage 1 dependency gaps#18007

Open
aditjha-msft wants to merge 2 commits into
4.0from
aditjha/skill-fedora-mirror-injections-20260713
Open

chore: add skill-fedora-mirror-injections for Stage 1 dependency gaps#18007
aditjha-msft wants to merge 2 commits into
4.0from
aditjha/skill-fedora-mirror-injections-20260713

Conversation

@aditjha-msft

@aditjha-msft aditjha-msft commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds a new agent skill, skill-fedora-mirror-injections, documenting how to diagnose Azure Linux Stage 1 (*-bootstrap-mirror) BuildRequires resolution failures and backfill the missing RPMs into the prod Fedora updates mirror via the azl4-stage1-injections.yaml file in azl-infra.

Stage 1 builds must resolve all BuildRequires from the prod Fedora mirror alone (no koji-built RPMs are used as build deps), so a resolution failure is a real mirror gap — not a build-order race. The skill captures the end-to-end process for finding, verifying, and fixing these gaps.

What the skill covers

  • Mental model — why a Stage 1 resolution failure is a mirror gap, and the base-vs-updates repo split.
  • The eviction pattern — Fedora bumps a crate past the spec's < next~ bound → old NVR demoted from updates repodata → still recoverable from kojipkgs.
  • Diagnosis — scanning triage buckets, pulling exact crate/NVR pins from koji root.log, and classifying each failure (real mirror gap vs. transient Curl-28 timeout vs. spec bug vs. version skew).
  • kojipkgs enumeration — finding the NVR and full noarch subpackage fan-out.
  • Transitive closure check — avoiding a new "onion layer" on rerun.
  • Adding injections — the file schema, source-vs-binary names, noarch fan-out, alphabetical ordering, comment-free entries.
  • Offline pre-flight validation — reusing the injection tooling's own expand_packages + head_check to confirm every entry resolves on kojipkgs before opening the PR.
  • Opening the PR as the deliverable, with an optional post-merge retest of the affected packages.
  • Transient-timeout vs. real-gap distinction (time-cluster + in-window success rate).
  • uucore-style gotcha — pin the spec, don't delete from the mirror.

Files

  • .github/skills/skill-fedora-mirror-injections/SKILL.md — the skill (follows the existing .github/skills/skill-<name>/SKILL.md convention with [Skill] … Triggers: frontmatter).
  • AGENTS.md — registered the skill in the skills table.

Provenance

Derived from the mirror_bootstrap0623 triage round (azl-infra draft PR #27888; 34-package retest all passed). Self-contained — includes the azl-infra clone URL so an agent without the repo cloned knows where to get it.

Add a skill documenting how to diagnose AzL4 Stage 1 (*-bootstrap-mirror)
BuildRequires resolution failures, distinguish real prod Fedora-mirror gaps
from transient timeouts and spec-side version skew, verify the transitive
closure, add entries to azl4-stage1-injections.yaml in azl-infra, and verify
an injections PR against the test mirror pipeline before merging.

Follows the .github/skills/skill-<name>/SKILL.md convention and is registered
in the AGENTS.md skills table. Derived from the mirror_bootstrap0623 round
(azl-infra draft PR #27888; 34-package retest all passed).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 4345bd3a-5a5c-44c4-b77e-ad618b7ed605
Copilot AI review requested due to automatic review settings July 13, 2026 22:22

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds guidance for diagnosing and resolving Stage 1 Fedora mirror dependency gaps.

Changes:

  • Documents mirror-gap diagnosis, injection, validation, and retesting.
  • Registers the new skill in the agent guide.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

File Description
AGENTS.md Registers the new workflow skill.
.github/skills/skill-fedora-mirror-injections/SKILL.md Defines the Stage 1 mirror-injection workflow.

Comment thread .github/skills/skill-fedora-mirror-injections/SKILL.md
Comment thread .github/skills/skill-fedora-mirror-injections/SKILL.md
Comment thread .github/skills/skill-fedora-mirror-injections/SKILL.md
@aditjha-msft aditjha-msft changed the title skill: add skill-fedora-mirror-injections for Stage 1 dependency gaps chore: add skill-fedora-mirror-injections for Stage 1 dependency gaps Jul 13, 2026
@aditjha-msft aditjha-msft marked this pull request as ready for review July 13, 2026 23:10
@aditjha-msft aditjha-msft requested a review from a team as a code owner July 13, 2026 23:10
Remove the "Verify via the test mirror pipeline" step (and its When-to-Use /
Reference / frontmatter mentions). The skill now ends at step 9 "Open the PR"
as the deliverable, with the prod retest demoted to an optional post-merge
note.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 4345bd3a-5a5c-44c4-b77e-ad618b7ed605
Copilot AI review requested due to automatic review settings July 15, 2026 22:18

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 6 comments.

Comment thread .github/skills/skill-fedora-mirror-injections/SKILL.md
Comment thread .github/skills/skill-fedora-mirror-injections/SKILL.md
Comment thread .github/skills/skill-fedora-mirror-injections/SKILL.md
Comment thread .github/skills/skill-fedora-mirror-injections/SKILL.md
Comment thread .github/skills/skill-fedora-mirror-injections/SKILL.md
Comment thread .github/skills/skill-fedora-mirror-injections/SKILL.md
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.

2 participants