Skip to content

docfx: sync from repo-template (gh-pages bootstrap fix)#71

Closed
Chris-Wolfgang wants to merge 4 commits into
mainfrom
fix/docfx-bootstrap-gh-pages
Closed

docfx: sync from repo-template (gh-pages bootstrap fix)#71
Chris-Wolfgang wants to merge 4 commits into
mainfrom
fix/docfx-bootstrap-gh-pages

Conversation

@Chris-Wolfgang

Copy link
Copy Markdown
Owner

Summary

Sync .github/workflows/docfx.yaml from repo-template to pick up the gh-pages bootstrap fix from Chris-Wolfgang/repo-template#337.

What changed

The "Deploy docs to GitHub Pages" step had a latent bug: when the gh-pages branch did not yet exist on the remote, $WORK_DIR was created as a plain directory and the subsequent git add / diff --cached / commit / push failed with fatal: not a git repository. The fix initializes the directory as a git repo on gh-pages and adds the authenticated origin remote, so the existing add/commit/push works on a first-ever deploy. Cleanup also branches between git worktree remove (worktree path) and Remove-Item (fresh-repo path).

If gh-pages already exists in this repo (the common case), this change is a no-op at runtime — the bootstrap branch is only taken on a fresh repo.

Test plan

  • Workflow YAML lints / next docs deploy succeeds
  • (Optional) verify gh-pages is unaffected

Sync .github/workflows/docfx.yaml from canonical repo-template to pick up the bootstrap fix from Chris-Wolfgang/repo-template#337.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 9, 2026 17:17

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

Note

Copilot was unable to run its full agentic suite in this review.

Syncs the DocFX GitHub Actions workflow with the repository template to fix first-time gh-pages deployments when the branch doesn’t exist yet.

Changes:

  • Detects whether gh-pages exists and chooses between a worktree-based flow vs. a fresh repo bootstrap.
  • Bootstraps a new git repository in $WORK_DIR on gh-pages (including an origin remote) for first-time deploys.
  • Adjusts cleanup to remove either the worktree or the freshly-initialized repo directory, and resets $LASTEXITCODE.

Comment thread .github/workflows/docfx.yaml
Comment thread .github/workflows/docfx.yaml
@Chris-Wolfgang

Copy link
Copy Markdown
Owner Author

Superseded by the D8 canonical sync that just landed on main. The gh-pages bootstrap fix this PR was carrying ($branchExists = git ls-remote --heads origin gh-pages guard) is already present in main's docfx.yaml. Merging this PR would actually revert main's D8 canonical work back to the older docfx.yaml — closing instead.

@Chris-Wolfgang Chris-Wolfgang deleted the fix/docfx-bootstrap-gh-pages branch June 18, 2026 22:29
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