-
Whenever changes are pushed to
main
or3.x
branch, a new JavaScript bundle is automatically created and pushed to the Ubuntu assets server. This process is managed by the upload.yml GitHub Action. -
MAAS integrates the MAAS UI using this JavaScript bundle. For the main development branch (latest/edge), MAAS automatically pulls the latest bundle and creates a commit, triggering a new MAAS release.
When MAAS core releases an initial release candidate (e.g. 2.8.0-rc1
), a corresponding branch of maas-ui named after the MAAS
version should be created.
No new dependencies (unless in the case of a CVE), or features should land in the release branch once created. Bugfixes should be made on main and backported to release branches where needed.
Please try to adhere to semantic versioning when creating a release. Although release drafter will just increment the patch, you should consider if the release contains new features, in which case the minor version should be incremented. For more details, refer to the semantic versioning spec.
Create a new branch from main using the MAAS version as the name (e.g. git checkout -b 3.2 main
).
Push the branch to the repo at canonical/maas-ui
.
Create a new local branch e.g. release-0.1.2.
Run yarn release [version]
where version is in the form 0.1.2
. This will bump the version in package.json
and create a tag with a 'v' prefix.
The workflows in .github/workflows
need to be updated to only run against the version
branch. This might look something like the following:
on:
push:
branches:
- 3.2
pull_request:
branches:
- 3.2
Update the workflows to set the snap channel for the maas
and
maas-test-db
snaps (e.g. --channel=3.2/edge
).
Propose this against the appropriate version branch and merge once approved.
Email the MAAS & Design list with a link to the new branch in GitHub and include the latest hash to include for ui Git submodule.
Create a new branch of main and update the version in all package.jsons to the next expected version.
Create new branch protection rules for the new version branch, copying the rules from the previous branch: https://github.com/canonical/maas-ui/settings/branches.
Usabilla button IDs can be found in the Usabilla dashboard.
Update the VITE_APP_USABILLA_ID
on the new release branch with a Usabilla button ID that matches the new version (e.g. "MAAS 3.4").
Update the VITE_APP_USABILLA_ID
on the main branch with a Usabilla button ID that matches the next expected version, e.g. "MAAS 3.5" button id.
You may need to create new buttons in Usabilla if they don't yet exist.