Repository navigation
ci(storybook): deploy develop to a /develop subpath alongside main - #109
Merged
Merged
Conversation
Only main is published to GitHub Pages, so changes merged into develop can't be browsed or reviewed in Storybook until they are released. Trigger the deploy on pushes to develop as well, publishing it into a develop/ subdirectory of gh-pages while main stays at the root: - Before the main deploy, copy the current develop/ from gh-pages into the build output. The main deploy uses keep_files: false, which cleans the whole branch root, so without this copy it would remove develop/. If gh-pages doesn't exist yet (new repository or fork), skip the copy and let the deploy create the branch. - Run the job in a shared concurrency group with queue: max, so main and develop runs, which both push to gh-pages, wait in line instead of rejecting each other's push. With the default single pending slot, a newer pending run would cancel an older one. - Skip the job when it is dispatched manually from any branch other than main or develop, so a feature branch can never overwrite the published root. Deploying develop to a separate branch was considered and discarded: GitHub Pages serves a single site per repository, so another branch would not be published.
Arthurk12
force-pushed
the
ci/storybook-develop
branch
from
October 15, 2026 17:43
ada5f7b to
276290d
Compare
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.
What does this PR do?
developas well asmain.developinto adevelop/subdirectory ofgh-pages, keepingmainat the root:main→https://bigbluebutton.github.io/bbb-ui-components-react/develop→https://bigbluebutton.github.io/bbb-ui-components-react/develop/maindeploy, copies the currentdevelop/fromgh-pagesinto the build output. Themaindeploy useskeep_files: false, which cleans the whole branch root, so without this copy it would removedevelop/. Ifgh-pagesdoesn't exist yet (new repository or fork), the copy is skipped and the deploy creates the branch.concurrencygroup withqueue: max, somainanddevelopruns, which both push togh-pages, wait in line instead of rejecting each other's push. With the default single pending slot, a newer pending run would cancel an older one.mainordevelop, so a feature branch can never overwrite the published root.Closes Issue(s)
Closes none
Motivation
Only
mainis published, so changes merged intodevelopcan't be browsed or reviewed in Storybook until they are released. Publishing both gives one Storybook for what is released and another for what is coming next.More::
maindeploy only starts preservingdevelop/once this change reachesmain. Until then, everymaindeploy wipes thedevelopStorybook, and the next push todevelopbrings it back.developdeploy cleans only its own subdirectory (peaceiris/actions-gh-pagesrunsgit rmfrom insidedestination_dir).queueis a recentconcurrencyoption. The docs' example sets it at workflow level; here it is set on the job, which the docs describe but which hasn't been run yet. The first push todevelopafter merging confirms it.actionlint1.7.12 passes except forunexpected key "queue", because it doesn't know that option yet. The step that preservesdevelop/was simulated locally.