To release version X.Y.Z
, first create a and checkout a branch named release_vX.Y.Z
export VF_VERSION=X.Y.Z
git checkout main
git fetch
git reset --hard origin/main
git switch -c release_$VF_VERSION
Then update all the package version strings to X.Y.Z
using the automation/bump_version.py
script
pixi run bump-version $VF_VERSION
Open a pull request to merge this branch into main
. This will start the continuous integration jobs on GitHub Actions. These jobs will test VegaFusion and build packages for publication.
To publish the vegafusion
packages to PyPI, first download and unzip the vegafusion-python-wheels-all
artifacts from GitHub Actions. Then cd
into the directory of *.whl
and *.tar.gz
files and upload the packages to PyPI using twine.
cd vegafusion-python-wheels-all
twine upload *
First, download and unzip the vegafusion-wasm-packages
artifact. Then publish the vegafusion-wasm-X.Y.Z.tgz
package to NPM. If this is a release candidate, include the --pre
flag to npm publish
.
cd vegafusion-wasm-package
npm publish vegafusion-wasm-$VF_VERSION.tgz
The Rust crates should be published in the following order
pixi run publish-rs
Create a GitHub Release with tag vX.Y.Z
and title Release X.Y.Z
. Attach:
- the wheels from the
vegafusion-python-wheels-all
artifact - The server binary archives from the
vegafusion-server-all
artifact - the
vegafusion-wasm-X.Y.Z.tgz
package from thevegafusion-wasm-package
artifact
Publish the documentation to the gh-pages
branch of the https://github.com/vegafusion/vegafusion.github.io repository by running pixi run docs-publish
, then confirm the push by entering y
at the prompt.