Skip to content

Cut release v1.4.1 #13001

Description

@jacebrowning

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/31811147895

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.

Windows via @jacebrowning

  • Download the release build for this platform
  • Install and run it (ignore the status bar update)
  • Create a new project
  • Send and queue two basic Zookeeper prompts
  • Confirm the result is viewable in an engine stream
  • Click Restart to update in the status bar
  • Confirm the app can update to the previous release

macOS via @pierremtb

  • Download the release build for this platform
  • Install and run it (ignore the status bar update)
  • Create a new project
  • Send and queue two basic Zookeeper prompts
  • Confirm the result is viewable in an engine stream
  • Click Restart to update in the status bar
  • Confirm the app can update to the previous release

Linux via @andrewvarga

  • Download the release build for this platform
  • Install and run it (ignore the status bar update)
  • Create a new project
  • Send and queue two basic Zookeeper prompts
  • Confirm the result is viewable in an engine stream
  • Click Restart to update in the status bar
  • Confirm the app can update to the previous release

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.


## Changed

* Point-and-click arc tool to use the direction parameter
* Onboarding tutorial to return to the list of projects

## Fixed

* Edge operations to work on cloned bodies
* Black scene when engine connection idles
* Variable renaming to work in nested scopes
* Rendering of lists in Zookeeper messages

**Full Changelog**: https://github.com/KittyCAD/modeling-app/compare/v1.4.0...v1.4.1

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/31815205147

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.

  1. Head to https://github.com/KittyCAD/modeling-app/actions/workflows/publish-apps.yml
  2. Click the previous publish-apps job, eg. https://github.com/KittyCAD/modeling-app/actions/runs/22152987561
  3. Click Re-run all jobs and wait for success
  4. Confirm https://zoo.dev/design-studio/download shows the previous release
  5. Post a message in Discord #release announcing the release got yanked
  6. Mark the yanked release as Pre-release, eg. https://github.com/KittyCAD/modeling-app/releases/tag/v1.1.13
  7. 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: #13004

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#1795

Homebrew KittyCAD PR: KittyCAD/homebrew-kittycad#105

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/4418

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/4053

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: N/A

Metadata

Metadata

Assignees

Labels

meta/releaseIssue tracking the process of releasing a stable version

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions