We use major.minor branches (e.g., 1.0, 1.1, 2.1) for releases.
- New major version of code-oss → New major version for our package
- Example: code-oss 1.x.x → branch
1.0→ tag1.0.0, code-oss 2.x.x → branch2.0→ tag2.0.0
- Example: code-oss 1.x.x → branch
- New version of code-oss → New major.minor.0 version for our package
- Example: code-oss 1.85.0 → branch
1.1→ tag1.1.0, code-oss 1.86.0 → branch1.2→ tag1.2.0
- Example: code-oss 1.85.0 → branch
- Patch releases → Increment patch number on existing major.minor branch
- Example: Bug fixes on branch
1.1→ tags1.1.1,1.1.2, etc.
- Example: Bug fixes on branch
-
Determine Code Editor Version: Choose tag name based on the commit's branch
- Tag format:
major.minor.patchmatching the branch the commit belongs to - Example: Commit on
1.0branch → tag1.0.0,1.0.1, etc. - Pre-release candidates have a tag suffix as
rc.{release_candidate_version}. For example1.0.4-rc.1or1.0.4-rc.2.
- Tag format:
-
Determine SageMaker Code Editor Version:
- Get in touch with the SageMaker team to decide what SageMaker version needs to be used for the latest release.
- Hard-code that version in the patch
patches/sagemaker/display-both-versions-in-about.diffinproduct.json.
-
Create release:
- Command line: Push tag to trigger release workflow
git tag 1.0.0 git push origin 1.0.0
- The workflow will:
- Fetch build artifacts for that commit
- Inject Code Editor version from the release tag into product.json
- Create GitHub release
- Command line: Push tag to trigger release workflow
-
Release notes: Include code-oss version and Sagemaker Code Editor Version information in the release description. Release description can be edited once the release workflow creates the release.