-
ensure your git repo is up to date with
main
-
create a branch
v1.x
, where x is the version being releasedgit checkout -b v1.4
git push origin v1.4
-
mark the current release as the stable release in the
main
branch- edit QUARTO_VERSION line in
/configuration
to be the new version (e.g.1.5
) - push the changes to the
main
branch - kick off a v1.5 build in GHA: https://github.com/quarto-dev/quarto-cli/actions/workflows/create-release.yml
- ensure the build completes successfully
- edit QUARTO_VERSION line in
-
mark v1.4 release as stable
- go to https://github.com/quarto-dev/quarto-cli/releases
- find the latest v1.4 release and edit, (eg https://github.com/quarto-dev/quarto-cli/releases/edit/v1.4.549)
- at the bottom of the page, there will be two checkboxes, "Set as pre-release" and "Set as latest release":
- "Set as pre-release" should be unchecked, and
- "Set as latest release" should be checked.
-
once the v1.5 build completes, edit the quarto.org website configuration on https://github.com/quarto-dev/quarto-web to reflect the new version
- this means flipping the profile group configuration in
_quarto.yml
from[rc,prelease]
to[prerelease,rc]
- push the changes to the
main
branch
- push the changes to the
- this means flipping the profile group configuration in
-
quarto-dev/quarto-web changes
- wait for the downloads file to be automatically updated by the GitHub Action on https://github.com/quarto-dev/quarto-web
- wait for https://github.com/quarto-dev/quarto-web/actions/workflows/update-downloads.yml to run (it runs every 15 minutes, or you can manually trigger it)
- This workflow run rendered the website: https://github.com/quarto-dev/quarto-web/actions/runs/12016407762
- This workflow run did not: https://github.com/quarto-dev/quarto-web/actions/runs/12016128695
- Ensure the run just triggered looks like the former
- Ensure the header in https://quarto.org has the new version number in its 'generator' meta tag
- Ensure the download links on https://quarto.org/docs/get-started/ and https://quarto.org/docs/download/ point to the stable and prerelease versions respectively
- wait for https://github.com/quarto-dev/quarto-web/actions/workflows/update-downloads.yml to run (it runs every 15 minutes, or you can manually trigger it)
- In the
prerelease
branch:- update the highlights files
- create
docs/prerelease/1.5/{_highlights, index, _pre-release-feature}.qmd
files based on the ones from the previous release - change
docs/prerelease/_highlights.qmd
so its include points to the new version-specific_highlights.qmd
file (here, 1.5) - change
docs/prerelease/_highlights-release.qmd
so its include points to the new version-specific_highlights.qmd
file (here, 1.4)
- create
- add the stable version to the older downloads list, like this example
- run
quarto run tools/release-notes.R
to generate the release notes
- run
- update the highlights files
- push the changes to
prerelease
branch, ensure they build correctly - Merge the
prerelease
branch intomain
- ensure the build completes successfully
- Merge
main
intoprerelease
- ensure the build completes successfully
- Create new tag on
main
(here,v1.5
)-
git tag -a v1.5 -m "v1.5"
-
git push origin v1.5
-
- Update
prerelease
version number (here,v1.5
)- edit
_quarto-prerelease-docs.yml
to point to the new version
- edit
- publish the release blog post that should exist in https://github.com/quarto-dev/quarto-web/tree/main/docs/blog/posts
by removing the
draft: true
line in the metadata and changing the date to match the release date. Do this on a branch off ofmain
to trigger our PR automation to make the corresponding change toprerelease
.
- wait for the downloads file to be automatically updated by the GitHub Action on https://github.com/quarto-dev/quarto-web
-
Packaging and package managers, etc
- TBD winget, etc?
- chocolatey
- https://github.com/quarto-dev/quarto-release-bundles/
- Go to "Select 'Publish Quarto PyPi'"
- Click "Run Workflow"
- Check the "Whether to publish or not the package on chocolatey" checkbox
- Wait for @cderv to receive email confirmation, no action needed
- pypi
- Goto the quarto-cli-pypi repo
- Update
version.txt
to be the version you'd like to publish and commit - Go to actions
- Select 'Publish Quarto PyPi'
- Click "Run Workflow"
- Publishing Test: You may elect to publish to test.pypi first by unchecking the
Production Release
option- Once complete, trest using
python3 -m pip install --index-url https://test.pypi.org/ --extra-index-url https://pypi.org/ quarto-cli
- You may have to run this command twice as the first time may report the package not found and cause cache invalidation. The next try should succeed.
- Published to: https://test.pypi.org/project/quarto-cli/
- Once complete, trest using
- Publishing Production: You may elect to publish to production pypyi by checking the
Production Release
option- Published to: https://pypi.org/project/quarto-cli/
- Publishing Test: You may elect to publish to test.pypi first by unchecking the
- Take a sip of tea ☕, bask in the glory of automation.