ZDS
1. Push a new tag
Instructions
Tag the repo on the latest main:
git tag $VERSION --message=""
git push origin $VERSION
This will trigger the build-apps workflow to set the version, build & sign the apps, and generate release files.
The workflow should be listed right away in this list.
Paste that link to that GitHub Actions run below.
Workflow run: https://github.com/KittyCAD/modeling-app/actions/runs/29919378429
2. Manually test artifacts
Instructions
The release builds can be found under the out-{arch}-{platform} zip files, at the very bottom of the build-apps summary page for the workflow (triggered by the tag in step 1).
Assign someone to each section of the manual checklist.
3. Draft release notes
Instructions
Head over to https://github.com/KittyCAD/modeling-app/releases/new, pick the newly created tag and type it in the Release title field as well.
Click Generate release notes as a starting point to for the changelog. Paste and reword user-facing changes below, collaborating with the original PR authors.
## Added
* KCL: string comparison using equality operators
* KCL: string stdlib case and trim functions
* List of Bodies in the Feature Tree
* Status Bar button to capture screenshots
* KCL: `direction` argument on `extrude()`
## Fixed
* Zookeeper to show accurate reasoning time after reconnects
* KCL: legacy sketch warnings when using stdlib functions
* KCL: array out-of-bounds errors when using `split()`
**Full Changelog**: https://github.com/KittyCAD/modeling-app/compare/v1.3.6...v1.3.7
4. Publish the release
Instructions
Paste the finalized release notes back to GitHub. Make sure Set as the latest release is checked, and click Publish release.
A new publish-apps-release workflow will start and you should be able to find it here. Paste that link below.
On success, the files will be uploaded to the public bucket as well as to the GitHub release, and the announcement on Discord will be sent.
Workflow run: https://github.com/KittyCAD/modeling-app/actions/runs/29939603344
Rollback instructions
If anything goes wrong during the deployment of the new release and it needs to be yanked (or rolled back),
the quickest way is to locate the previous release publish job and simply re-run it.
- Head to https://github.com/KittyCAD/modeling-app/actions/workflows/publish-apps.yml
- Click the previous
publish-apps job, eg. https://github.com/KittyCAD/modeling-app/actions/runs/22152987561
- Click Re-run all jobs and wait for success
- Confirm https://zoo.dev/design-studio/download shows the previous release
- Post a message in Discord #release announcing the release got yanked
- Mark the yanked release as Pre-release, eg. https://github.com/KittyCAD/modeling-app/releases/tag/v1.1.13
- If needed, create an announcement to communicate the urgency of the rollback to users.
KCL
Instructions
Follow the instructions here to publish new crates.
This ensures that the KCL accepted by the app is also accepted by the CLI.
Paste a link to the PR below.
Release PR: #12558, #12560
CLI
Instructions
Clone https://github.com/KittyCAD/cli and update its dependencies on kittycad-modeling-cmds, kcl-lib, kcl-derive-docs and kcl-test-server to the latest versions. Also bump the CLI's version under [package]. Open a PR and merge it to main.
After merging, run make tag and follow its instructions. This should publish a CLI release. Then open https://github.com/KittyCAD/homebrew-kittycad/pulls and merge the automatic PR to bump the release in Homebrew.
Paste a link to the PR below.
The above should generate a PR in https://github.com/KittyCAD/homebrew-kittycad/pulls. Merge it.
Release PR: KittyCAD/cli#1743
Homebrew KittyCAD PR: KittyCAD/homebrew-kittycad#100
API
Instructions
Clone https://github.com/KittyCAD/api and update its dependencies on kittycad-modeling-cmds and kcl-lib to the latest versions. Next, run just redo-openapi to make sure the OpenAPI spec gets generated from any types we might be exposing from these libs. Open a PR and merge it to main.
Paste a link to the PR below.
Release PR: https://github.com/KittyCAD/api/pull/4216
Zookeeper
Instructions
Merge the corresponding zoo-kcl Dependabot PR here. If none are present, click Check for updates here.
Paste a link to the PR below.
Release PR: https://github.com/KittyCAD/text-to-cad/pull/3863
Website
Instructions
Merge the latest documentation Dependabot PR here. If none are present, click Check for updates here.
Paste a link to the PR below or replace ??? with N/A.
Release PR: https://github.com/KittyCAD/website/pull/4419
ZDS
1. Push a new tag
Instructions
Tag the repo on the latest main:
This will trigger the
build-appsworkflow to set the version, build & sign the apps, and generate release files.The workflow should be listed right away in this list.
Paste that link to that GitHub Actions run below.
Workflow run: https://github.com/KittyCAD/modeling-app/actions/runs/29919378429
2. Manually test artifacts
Instructions
The release builds can be found under the
out-{arch}-{platform}zip files, at the very bottom of thebuild-appssummary page for the workflow (triggered by the tag in step 1).Assign someone to each section of the manual checklist.
Windows via @jacebrowning
macOS via @jacebrowning
Linux via @andrewvarga
3. Draft release notes
Instructions
Head over to https://github.com/KittyCAD/modeling-app/releases/new, pick the newly created tag and type it in the Release title field as well.
Click Generate release notes as a starting point to for the changelog. Paste and reword user-facing changes below, collaborating with the original PR authors.
4. Publish the release
Instructions
Paste the finalized release notes back to GitHub. Make sure Set as the latest release is checked, and click Publish release.
A new
publish-apps-releaseworkflow will start and you should be able to find it here. Paste that link below.On success, the files will be uploaded to the public bucket as well as to the GitHub release, and the announcement on Discord will be sent.
Workflow run: https://github.com/KittyCAD/modeling-app/actions/runs/29939603344
Rollback instructions
If anything goes wrong during the deployment of the new release and it needs to be yanked (or rolled back),
the quickest way is to locate the previous release publish job and simply re-run it.
publish-appsjob, eg. https://github.com/KittyCAD/modeling-app/actions/runs/22152987561KCL
Instructions
Follow the instructions here to publish new crates.
This ensures that the KCL accepted by the app is also accepted by the CLI.
Paste a link to the PR below.
Release PR: #12558, #12560
CLI
Instructions
Clone https://github.com/KittyCAD/cli and update its dependencies on
kittycad-modeling-cmds,kcl-lib,kcl-derive-docsandkcl-test-serverto the latest versions. Also bump the CLI's version under[package]. Open a PR and merge it to main.After merging, run
make tagand follow its instructions. This should publish a CLI release. Then open https://github.com/KittyCAD/homebrew-kittycad/pulls and merge the automatic PR to bump the release in Homebrew.Paste a link to the PR below.
The above should generate a PR in https://github.com/KittyCAD/homebrew-kittycad/pulls. Merge it.
Release PR: KittyCAD/cli#1743
Homebrew KittyCAD PR: KittyCAD/homebrew-kittycad#100
API
Instructions
Clone https://github.com/KittyCAD/api and update its dependencies on
kittycad-modeling-cmdsandkcl-libto the latest versions. Next, runjust redo-openapito make sure the OpenAPI spec gets generated from any types we might be exposing from these libs. Open a PR and merge it to main.Paste a link to the PR below.
Release PR: https://github.com/KittyCAD/api/pull/4216
Zookeeper
Instructions
Merge the corresponding
zoo-kclDependabot PR here. If none are present, click Check for updates here.Paste a link to the PR below.
Release PR: https://github.com/KittyCAD/text-to-cad/pull/3863
Website
Instructions
Merge the latest
documentationDependabot PR here. If none are present, click Check for updates here.Paste a link to the PR below or replace
???withN/A.Release PR: https://github.com/KittyCAD/website/pull/4419