Skip to content

De-stale the release skill after #14277 removed stabilization - #14534

Merged
JanProvaznik merged 1 commit into
dotnet:mainfrom
JanProvaznik:copilot/de-stale-release-skill
Jul 27, 2026
Merged

De-stale the release skill after #14277 removed stabilization#14534
JanProvaznik merged 1 commit into
dotnet:mainfrom
JanProvaznik:copilot/de-stale-release-skill

Conversation

@JanProvaznik

Copy link
Copy Markdown
Member

Problem

#14277 ("Stop requiring VersionPrefix updates in servicing — insert prerelease versions to VS", merged 2026-07-08) deleted scripts/Stabilize-Release.ps1 and updated documentation/release-checklist.md and the merge-dependency-updates skill — but this skill was missed. It still walks the agent through a workflow that no longer exists.

git grep Stabilize-Release currently matches only this file.

Fixes

Was Now Evidence
scripts/Stabilize-Release.ps1 referenced (L59, 74, 94, 138, 159) removed File deleted in 9ffbeaad04; Test-Path → False
"After Phase 4.2 Stabilize-Release.ps1 runs, builds become final-versioned" Release branches now build/insert prerelease versions like main; release-versioned packages come from NuGetRepack at manual publish time #14277 commit message
Links to "stabilization (Phase 4.2)" and "Phase 4.2 + 4.3" Phase Summary now matches the real checklist: 4.1 public API, 4.2 OptProf bootstrap, 4.3 M2/QB, 4.4 babysit insertion documentation/release-checklist.md:173-181
darc publish "the feed the official build publishes to" Not a verb in darc --help
.vsts-dotnet.yml holds VisualStudio.ChannelName It holds only OptProfBaselineDrop (L32, 47); added a row for the real location azure-pipelines/.vsts-dotnet-build-jobs.yml:80,156
Examples 18.5 / 18.6 / 18.7, baseline 18.7.0-preview-26230-02, dates 2026-04-082026-05-12 18.9 / 18.10 / 18.11, baseline 18.9.0-preview-26330-01, dates shown as YYYY-MM-DD eng/Versions.props:6,9
Prereq "darc cli" + the Arcade minimum-version floor and eng/common/darc-init.ps1 darc refuses to run when older than Arcade's floor

The four hardcoded dates are replaced with a YYYY-MM-DD format hint rather than newer dates, so that row cannot rot again — the skill already tells you to read the real dates from the VS-Dates wiki.

Also

Collapsed the six-step manual PACKAGE_VALIDATION_BASELINE_VERSION fallback (L72-79) into a pointer at Get-PackageValidationBaseline.ps1's own .DESCRIPTION, which documents the identical procedure and cannot drift from the script. Two of those six steps were the ones referencing the deleted stabilization run.

Net 168 → 159 lines, 19 insertions / 28 deletions. All relative links verified to resolve.

PR dotnet#14277 ("Stop requiring VersionPrefix updates in servicing - insert
prerelease versions to VS") deleted scripts/Stabilize-Release.ps1 and
updated documentation/release-checklist.md and the
merge-dependency-updates skill, but this skill was missed. It still
described a workflow that no longer exists.

Fixes, each verified against the repo:

- scripts/Stabilize-Release.ps1 was referenced 5 times (lines 59, 74, 94,
  138, 159). The file was deleted in 9ffbeaa; `git grep` for it now
  matches only this skill. Removed all five, including the Key Files row
  and the Error Recovery entry.
- The PACKAGE_VALIDATION_BASELINE_VERSION rationale said release-branch
  builds become "final-versioned" after stabilization. Since dotnet#14277 they
  build and insert prerelease versions exactly like main; the
  release-versioned packages are produced by NuGetRepack at manual
  publish time and never reach the public CI feed. Rewrote the "wrong
  pick" explanation to match.
- Cross-references to "stabilization (Phase 4.2)" and "Phase 4.2 + 4.3"
  pointed at renumbered steps. Phase 4 is now 4.1 public API promotion,
  4.2 OptProf bootstrap, 4.3 M2/QB approval, 4.4 babysit insertion.
  Updated the Phase Summary row to match the checklist.
- `darc publish` is not a darc verb (not in `darc --help`). The
  dotnet-tools feed is published to by the official build.
- Key Files claimed .vsts-dotnet.yml holds VisualStudio.ChannelName. It
  holds only OptProfBaselineDrop (lines 32, 47); VisualStudio.ChannelName
  lives in azure-pipelines/.vsts-dotnet-build-jobs.yml (lines 80, 156).
  Corrected and added the missing row.
- Example versions were a full cycle stale (18.5/18.6/18.7 and a
  18.7.0-preview baseline). Refreshed to the current cycle and replaced
  the four hardcoded 2026-04/05 dates with a YYYY-MM-DD format hint so
  they cannot rot again.
- Added the darc minimum-version prerequisite; darc refuses to run when
  older than Arcade's floor and the fix is eng/common/darc-init.ps1.

Also collapsed the six-step manual baseline fallback into a pointer at
Get-PackageValidationBaseline.ps1's own .DESCRIPTION, which documents the
same procedure and cannot drift from the script. Net 168 -> 159 lines.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: d205cff8-23b3-4dd7-9b51-416173f342b0
Copilot AI review requested due to automatic review settings July 27, 2026 10:24
@JanProvaznik
JanProvaznik requested a review from a team as a code owner July 27, 2026 10:24
@github-actions

Copy link
Copy Markdown
Contributor

🔍 Skill Validator Results

⚠️ Warnings or advisories found

Scope Checked
Skills 1
Agents 0
Total 1
Severity Count
--- ---:
❌ Errors 0
⚠️ Warnings 1
ℹ️ Advisories 0

Summary

Level Finding
ℹ️ Found 1 skill(s)
ℹ️ [release] 📊 release: 3,399 BPE tokens [chars/4: 3,375] (standard ~), 13 sections, 1 code blocks
ℹ️ [release] ⚠ Skill is 3,399 BPE tokens (chars/4 estimate: 3,375) — approaching "comprehensive" range where gains diminish.
ℹ️ ✅ All checks passed (1 skill(s))
Full validator output ```text Found 1 skill(s) [release] 📊 release: 3,399 BPE tokens [chars/4: 3,375] (standard ~), 13 sections, 1 code blocks [release] ⚠ Skill is 3,399 BPE tokens (chars/4 estimate: 3,375) — approaching "comprehensive" range where gains diminish. ✅ All checks passed (1 skill(s)) ```

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

Updates the .github/skills/release skill documentation to match the post-#14277 release workflow (no stabilization script; release branches insert prerelease versions like main) and to reduce future “rot” from hardcoded examples.

Changes:

  • Removes all references to the deleted scripts/Stabilize-Release.ps1 and updates Phase 4 text to align with the current release checklist steps.
  • Refreshes version/date examples (dates now shown as YYYY-MM-DD) and updates baseline/versioning explanation to reflect prerelease insertion behavior.
  • Corrects file pointers for where key release knobs live (e.g., VisualStudio.ChannelName) and updates DARC prerequisite guidance.

Comment thread .github/skills/release/SKILL.md
Comment thread .github/skills/release/SKILL.md

@github-actions github-actions Bot 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.

Documentation Review

Clean update aligning the release skill with the post-#14277 world. Reviewed across applicable dimensions:

Accuracy - Version examples match current eng/Versions.props (18.10.0). The wrong-answers table correctly describes the NuGetRepack flow. Stabilize-Release.ps1 removal is consistent with release-checklist.md. The darc-init.ps1 tip references a real script.

Removed content - The manual 6-step procedure is replaced with a pointer to the script's .DESCRIPTION header, which I verified contains an equivalent explanation. No knowledge lost.

Date format - Switching to YYYY-MM-DD placeholders avoids staleness. The new callout note explains the convention.

Phase 4 update - Accurately reflects the new workflow.

Minor nits (non-blocking)

  1. The darc-init tip mentions only the .ps1 variant — consider also noting eng/common/darc-init.sh for Linux/macOS.
  2. "Dates are intentionally shown as a format only" — "shown as placeholders only" might be slightly clearer.

Overall: clean, accurate, well-motivated simplification.

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • awmgmcpg

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "awmgmcpg"

See Network Configuration for more information.

Generated by Expert Code Review (on open) for #14534 · sonnet46 · 45.1 AIC · ⌖ 5.05 AIC · ⊞ 4.9K

@JanProvaznik
JanProvaznik enabled auto-merge (squash) July 27, 2026 11:13
@JanProvaznik
JanProvaznik merged commit 16598b3 into dotnet:main Jul 27, 2026
20 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.

4 participants