This repository represents a set of packages, related to the Studio Experiences product.
Please refer to our Documentation to learn more about it.
Each package has a 'dev' script that will build the application and watch for changes.
Run the following command in the directory of the package to start the dev script:
npm run dev
For each new feature, bug fix, or improvement, create a new branch based off development
to do your work in. When ready, open up a PR to development
, and once approved, merge it using the "Squash and merge" option. If the feature branch was a long lived branch, you might decide to do a "Create a merge commit" instead to maintain the history of the feature branch. However, try to avoid having meaningless commits in the feature branch as that will make the overall history of the repository hard to follow.
When a PR is merged into development
, the CI/CD pipeline will automatically publish a new development package under the dev
tag.
As the features/fixes in the development
branch get ready to release, open a PR from development
into next
. Once approved, merge it using the "Create a merge commit" option, and have the description of the PR and the subsequent commit be "Release@next".
When a PR is merged into next
, the CI/CD pipeline will automatically publish a new package under the beta
tag. Any changes made by the release process to the next
branch will automatically be merged back into development
.
To release a stable build, open a PR from next
into main
. Once approved, merge it using the "Create a merge commit" option, and have the description of the PR and the subsequent commit be "Release@main".
When a PR is merged into main
, the CI/CD pipeline will automatically publish a new package under the latest
tag. Any changes made by the release process to the main
branch will automatically be merged back into next
and development
.
To fix a critical bug that is in main
, branch of the main
branch. When your work is complete open a PR against main
, and when it is approved, merge it back into main
using the "Squash and merge" option. The change will be automatically merged back into next
and development
. However, if there is a merge conflict doing so, you will have to resolve it manually.
We follow the Conventional Commits specification for our commit messages. This allows us to automatically generate changelogs and version bumps based on the commit messages. Please take care in your commit messages that make it into the main branches (development
, next
, and main
) to follow this specification, as it helps with the release process.
Warning
If your build
command is stuck and not finishing, try resetting the cache via npx nx reset