ci: add docs-release-* tag workflow to publish docs at release#3969
Conversation
Docs deploy from the docs-live branch via Mintlify, so a push to main no longer publishes on its own. This workflow publishes at release: push a docs-release-* tag at the commit you want live, and it runs the Mintlify broken-links check against that commit, then fast-forwards docs-live to it. The ref update uses force=false, so it is fast-forward only: a tag that is not ahead of docs-live fails the job instead of rewinding production.
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
💤 Files with no reviewable changes (1)
📜 Recent review details⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
WalkthroughA new GitHub Actions workflow file 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
The publish job has contents: write and triggers a deploy, so restoring an npm cache that a lower-privileged run could populate is a cache-poisoning vector. The cache only saved re-downloading the mintlify CLI on a tag-triggered workflow, so dropping it costs almost nothing.
Summary
Docs deploy from the
docs-livebranch via Mintlify, so merging tomainno longer publishes docs on its own. To publish, push adocs-release-*tag at the commit you want live. The workflow runs the Mintlify broken-links check against that commit, then fast-forwardsdocs-liveto it, which is what Mintlify deploys from.Design
The ref move uses the GitHub API with
force=false, making it fast-forward only: a tag that is not ahead ofdocs-livefails the job rather than rewinding production. Mintlify's GitHub app reacts to the resulting push and deploys, so no extra deploy credentials are needed.Usage:
git tag docs-release-2026.06.16 # tag the main commit you want live git push origin docs-release-2026.06.16