-
Notifications
You must be signed in to change notification settings - Fork 185
Release process (post 0.8.0)
From this version on, we're not merging our prerelease
branch back to master
. That means that every bug fix that happens on the prerelease
branch should be cherry-picked to master
as well.
- Make sure you're on the
master
branch and have no changes. git checkout -b {version}-prerelease
- (optional) Run
yarn run update-version-to {version}
. Usuallymaster
already has the correct version of the next release, but if not, update it accordingly. - (optional) Update root
package.json
with the version to be used for BPMN, DMN and SceSim editors. Usuallymaster
points to a*-SNAPSHOT
version of the Editors. Releases should be done with*-Final
versions. yarn run init && yarn run build:prod
git add .
git commit -am "Release {version}"
-
git push origin {version}-prerelease
⟶ ⚠ This will trigger a GitHub Workflow- Create draft release -
prerelease.yml
- Create draft release -
This workflow will create a Draft Release on GitHub with the artifacts ready. It will also update the
kogito-online
GitHub page to contain the resources for the next version of the Chrome Extension. If something's wrong, you can push again and thekogito-online
GitHub page will be updated again and a new Draft Release will be created on GitHub.
git checkout master
git checkout -b bump-version-to-{new-version}
yarn run update-version-to {new-version}
git add .
git commit -am "Bump version to {new-version}"
git push
- Open a PR.
- Wait for GitHub Workflow "Create draft release" to be complete.
- Perform the Sanity Checks with the release artifacts
- Change the
target
branch for the release to{version}-prerelease
- Write the release text
- Publish release ⟶ ⚠ This will trigger two GitHub Workflows
- Publish release artifacts -
publish_artifacts.yml
- Publish Chrome Extension to the Chrome Web Store -
publish_chrome_ext.yml
- Publish release artifacts -
The first Workflow will finish updating
kogito-online
GitHub Page. That means updating the/editors/latest
URI to point to the version that was just released. It will also publish the artifacts to NPM, so it cannot be re-run.
The second Workflow will publish the Chrome Extension to the Chrome Store. It'll probably not be available instantly, but you can check it on the Google Dev Console
- Wait for "Publish release artifacts" to be ready
- Execute the post-release tests on the Sanity Checks spreadsheet
- Update and release the VS Code Extensions on kie-tooling-store
- Update and publish the Examples on kogito-tooling-examples
- Write a blogpost about the release
- Write an email to the team about the release
Done! ✅
After all that, you should have one commit on
master
:
1. Bump version to {next-version}
You should also have a tag called
{version}
with non-emptypackages/kie-bc-editors-unpacked/[bpmn/dmn]
folders and ayarn.lock
on the repository root dir.