Skip to content

feat: publish the versioned site through staging to production - #384

Merged
brendanclement merged 12 commits into
mainfrom
brendan/supervised-publication
Oct 23, 2026
Merged

brendanclement merged 12 commits into
mainfrom
brendan/supervised-publication

Conversation

@brendanclement

@brendanclement brendanclement commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

We can now build the versioned docs site, but we need a way to review it on staging and publish exactly what was reviewed.

This PR connects those steps. Once enabled, merged documentation changes build and publish to staging automatically. Someone can then approve production publication through GitHub. Production receives the same files that were checked on staging, without rebuilding them.

It also handles overlapping updates: publishes run one at a time, older runs can’t overwrite newer ones, and promotion stops if staging has changed since it was requested. Before promoting, it checks that Mintlify has actually deployed the expected staging build.

@brendanclement
brendanclement force-pushed the brendan/compose-versioned-site branch from 570b2ae to 69c403b Compare October 22, 2026 20:11
@brendanclement
brendanclement force-pushed the brendan/supervised-publication branch from 0f89b81 to fa15b1b Compare October 22, 2026 20:11
@brendanclement
brendanclement marked this pull request as ready for review October 22, 2026 20:34
@brendanclement
brendanclement force-pushed the brendan/supervised-publication branch from fa15b1b to e25ba00 Compare October 22, 2026 20:56
@brendanclement
brendanclement force-pushed the brendan/compose-versioned-site branch 2 times, most recently from 5d2a781 to 4fd461b Compare October 22, 2026 23:03
@brendanclement
brendanclement force-pushed the brendan/supervised-publication branch from e25ba00 to 138eb81 Compare October 22, 2026 23:03
@brendanclement
brendanclement force-pushed the brendan/compose-versioned-site branch from 4fd461b to a39f5b8 Compare October 23, 2026 16:19
@brendanclement
brendanclement force-pushed the brendan/supervised-publication branch from 138eb81 to 0a50e41 Compare October 23, 2026 16:19
Base automatically changed from brendan/compose-versioned-site to main October 23, 2026 16:22
The Compose workflow checks the saved editions, composes them and records
the versioned site as a candidate. Publish puts candidates on staging, keeps
staging on main's newest versioned candidate once staging shows the versioned
site, and promotes to production only the candidate staging shows after
Mintlify reports deploying it, or one production published before, and only
if production has not changed since the run was requested.
Production promotes a staging commit only if Mintlify's newest deployment of
it, recorded by Mintlify, is live at the staging address in the repository
variable MINTLIFY_STAGING_URL. A successful deployment elsewhere, or a status
another account added, no longer counts.

Staging and production publications share one concurrency group, so no
Publish run changes staging between production's check of it and its push.

Staging follows main without trusting its own commit message: it is left
alone only when its files are main's newest candidate, checked against that
run's record, and is published again otherwise.
@brendanclement
brendanclement force-pushed the brendan/supervised-publication branch from 0a50e41 to ca54ea2 Compare October 23, 2026 16:24
@brendanclement
brendanclement merged commit 0e365d8 into main Oct 23, 2026
4 checks passed
@brendanclement
brendanclement deleted the brendan/supervised-publication branch October 23, 2026 16:27
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