Repository navigation
Proposal for fork-safe preview strategy - #32
Merged
rhingo merged 3 commits intoSep 25, 2026
Merged
Conversation
Alternative to the gh-pages migration: keep this repository's GitHub Pages setup on the Actions source and publish previews into a dedicated previews repository instead, using pr-preview-action's deploy-repository input with a fine-grained token. deploy-pages.yaml is unchanged, so the production deploy path and the custom domain are untouched and no Pages settings change is needed. Preview content is served from a different origin than the production docs, so unreviewed contributor HTML never shares an origin with docs.emberarchive.org. Fork support uses the same trust boundary as the other variant: the untrusted build runs read-only in check-docs.yaml and hands the built site to preview.yaml via an artifact; preview.yaml (workflow_run) and preview-cleanup.yaml (pull_request_target) can read the deploy token but never check out or execute pull request code. SECURITY.md records the invariants and how to scope the token. Both preview workflows no-op until PREVIEW_REPOSITORY is set, so this is safe to merge before the previews repository exists. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015KZdA347fHh4xxpdHkVwxQ
Remove fork-preview.yaml, the opt-in workflow letting contributors host a preview from their own fork. The upstream pipeline now covers fork pull requests, so the fallback was redundant setup for contributors to learn. Remove preview-cleanup.yaml, which deleted a preview when its pull request closed. This was the only pull_request_target workflow, so the repository no longer uses that trigger at all. Previews are consequently never removed automatically, including those from closed or rejected pull requests. They sit on their own origin so they cannot affect the production docs, but the previews repository now needs periodic pruning. Document that in DEVELOPMENT.md and record the consequence in SECURITY.md. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015KZdA347fHh4xxpdHkVwxQ
The artifact only needs to survive long enough for preview.yaml to consume it, but a one-day window means a failed preview deploy can no longer be re-run from the original build by the time anyone looks. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015KZdA347fHh4xxpdHkVwxQ
NEStock
self-requested a review
September 23, 2026 18:07
NEStock
approved these changes
Sep 23, 2026
NEStock
left a comment
Member
There was a problem hiding this comment.
Thank you for setting this up!
this looks good ton me. I've also completed steps 1-3 described in 'One-time setup'.
Contributor
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Which does not alter the current deployment strategy
Requires an admin on this repo to create a new repo and mint a fine-grain token as described in the instructions: https://github.com/aplbrain/BBQS-EMBER-docs/pull/32/changes#diff-fc2a310fcfedfefb0046def697f932def80cbb1e78c689bc0af3c8eab3e33eceR60-R79