Skip to content

Build the docs from the latest Upshift release - #13

Merged
hamza-lem merged 3 commits into
upshift-mainfrom
docs/build-from-upshift-release
Oct 13, 2026
Merged

hamza-lem merged 3 commits into
upshift-mainfrom
docs/build-from-upshift-release

Conversation

@hamza-lem

@hamza-lem hamza-lem commented Oct 13, 2026 •

Copy link
Copy Markdown
Collaborator

Why

docs.upshiftcloud.com is generated from upshift-main, which tracks Twenty's main branch. Since #12 the navbar shows that version, v2.47.0, which no client can install yet, while the newest Upshift release is v2.46.0. The public docs must follow Upshift releases.

What

  • import-docs.mjs takes --root <twenty checkout> to read another Twenty checkout, --version X.Y.Z to name the Upshift release it documents (fails when the sources carry another version), and --check to build without writing.
  • The generated upshift/docs/site is no longer committed; the folder is ignored. The drift check goes away with it.
  • New Upshift Docs workflow: finds the newest upshift/vX.Y.Z GitHub Release, checks out Twenty at twenty/vX.Y.Z (sparse), builds the site with the rules and overrides of upshift-main, and publishes it to the docs-site branch. It runs after each Upshift Release run, on pushes to upshift-main touching upshift/docs/** or upshift/branding/**, and on demand. On pull requests it only proves the build. The branch is named docs-site because a branch named docs cannot coexist with docs/... feature branches.
  • The branding check keeps running the importer tests and a --check build against this branch's Twenty docs, so a Twenty change that breaks a rule shows up before a release.
  • README documents the flow.

Mintlify

The deployment's git source now points at branch docs-site with an empty content directory, and that branch already carries the v2.46.0 site built with this importer. Nothing deploys from upshift-main any more, which is why the Mintlify preview on this PR fails: the PR removes the folder the old source read.

Verified

  • node --test upshift/docs/test/*.test.mjs: 57 passing
  • node upshift/docs/import-docs.mjs --root <twenty at v2.46.0> --version 2.46.0 builds 112 fr + 121 en pages labelled v2.46.0; --version 2.47.0 against the same sources fails with "the docs are built for Upshift v2.47.0 but the sources carry 2.46.0"
  • mintlify validate (strict) passes on that build
  • The Upshift Docs workflow ran green on this PR against the v2.46.0 release

The public docs were generated from upshift-main, which tracks Twenty's
main branch, so they described and were labelled with a version no
client could install yet. The site now follows Upshift releases.

The importer takes --root to read another Twenty checkout, --version to
name the Upshift release it documents (and fail when the sources carry
another version), and --check to build without writing. The generated
site is no longer committed; a new Upshift Docs workflow builds it from
the newest upshift/vX.Y.Z GitHub Release, with Twenty checked out at the
matching tag and the rules and overrides of upshift-main, and publishes
it to the docs branch that Mintlify deploys. It runs after each Upshift
Release run, on pushes to upshift-main that touch the docs or branding,
and on demand; pull requests run the build without publishing.
@mintlify

mintlify Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated
upshift 🔴 Failed – Oct 13, 2026, 7:21 PM

💡 Tip: Enable Automations to automatically generate PRs for you.

A branch named docs cannot coexist with the docs/... feature branches, since git stores refs as paths, so the published site lives on docs-site.
@hamza-lem
hamza-lem merged commit dcb77a3 into upshift-main Oct 13, 2026
9 checks passed
@hamza-lem
hamza-lem deleted the docs/build-from-upshift-release branch October 13, 2026 19:53
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.

1 participant