Skip to content

[main] Support release-line docs publishing and release coordination - #1972

Open
jeffhandley wants to merge 2 commits into
mainfrom
jeffhandley/release-docs-orchestration
Open

jeffhandley wants to merge 2 commits into
mainfrom
jeffhandley/release-docs-orchestration

Conversation

@jeffhandley

Copy link
Copy Markdown
Contributor

Summary

  • Preserve release-tags as the default docs source and allow latest-branches
    to refresh every published major from its matching release branch.
  • Resolve and validate all selected content refs before building, then build
    immutable commit snapshots without falling back to main for content.
  • Keep orchestration scripts and version-picker assets current with main.
  • Add regression coverage for both source modes, orchestration/content
    separation, failure handling, and versioned-site behavior.
  • Update release-process documentation, agents, and skills for servicing
    branches, PR-only changes, coordinated publication, and provenance checks.
  • Correct ApiDiff invocation, attribute exclusions, and report validation.

No product APIs, package versions, dependencies, or Pages deployment
protections are changed.

Validation

  • Docs orchestration tests: 17 passed.
  • Core net10.0 build: zero warnings or errors.
  • Core nonmanual tests: 3,628 passed, 4 skipped.
  • ApiDiff tooling: no-change and known-change report generation verified.

Docs tests use synthetic HTML fixtures; no live Pages deployment was run.

Note

This PR description was generated with GitHub Copilot.

Validate and pin selected documentation sources while keeping runtime
orchestration on main. Add regression coverage and update release-process
guidance, including coordinated verification and ApiDiff tooling.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

@tarekgh tarekgh 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.

Two issues found in the docs orchestration and regression tests.

git fetch --tags --prune origin "+refs/heads/*:refs/remotes/origin/*"
# Resolve and validate every selected content ref once, before building any version.
# Use a file rather than process substitution so resolution failures stop the run.
node "$ROOT/scripts/list-versions.mjs" --source "$DOCS_SOURCE" > "$RUNNER_TEMP/docs-sources.tsv"

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.

[P2] Ensure older workflow entry points execute the new main orchestration

This resolver is invoked only by this version of docs.yml. Checking out main updates files on disk, but does not replace the running workflow definition. The existing release/1.x and release/2.x workflows still call list-versions.mjs without --source, so they bypass the new selection and validation path.

I reproduced this with the actual release/2.x workflow definition and this PR's main helpers in a synthetic repository: a latest-branches dispatch with release/2.x missing exited successfully and produced v2 pages from unreleased main content instead of rejecting the missing branch. The current fixtures always execute the new workflow definition, even when simulating another triggering ref, so they miss this case.

Please ensure supported servicing/release workflow entry points invoke the current main orchestration, and add coverage using an older workflow definition.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Good catch, and tricky. I'll explore options here, but I'm inclined to leave this as a point-in-time mismatch, since after this merges, I'll be replicating this docs infrastructure into each of the release branches too.

But it also has me wondering if there should just be a separate/dedicated (and perhaps even orphaned) branch for the docs infrastructure scripts that all release branches' infrastructure would rely on. And I could make it a protected branch.

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.

But it also has me wondering if there should just be a separate/dedicated (and perhaps even orphaned) branch for the docs infrastructure scripts that all release branches' infrastructure would rely on. And I could make it a protected branch.

Sounds a good idea to me.

Comment thread scripts/docs-branches.test.mjs Outdated
@tarekgh

tarekgh commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

I added a fix to the markdown leg failure in #1969. when merging it should resolve such CI failures.

@jeffhandley already have isolated PR for fixing the markdown failure #1975

Pin newline settings for temporary Git repositories, normalize both sides
of picker comparisons, and cover CRLF input under inherited Windows
newline settings.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

This branch has not been deployed

No deployments
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