This document describes the process of releasing a new version of this repository.
Replace $VERSION with the target version. In the future a full script will be provided
to automate this, in which case this document serves as documentation.
- From an up-to-date master, create a new branch:
git checkout -b $VERSION - Replace all references in the codebase to old version to new version.
- Add compatibility documentation to
INSTALL.md. - Run all code-generation scripts:
make generateor run allhack/codegen-*scripts. - Generate the version package:
make version VERSION=$VERSION - Generate a changelog:
make changelog GITHUB_TOKEN=$GITHUB_TOKEN VERSION=$VERSION - Create a PR of the changes originated from the prior steps.
- Merge PR after CI succeeds.
- Fetch and checkout new master
- Build the images
build/docker.sh fission $VERSION - Build the release artifacts (binaries and helm chart):
hack/release.sh
- Publish images to docker under
$VERSION:hack/docker-publish.sh fission $VERSION - Publish images to docker under
latest:hack/docker-publish.sh fission latest - Add Helm chart to the
fission/fission-chartsrepo. Follow instructions there. - Create a release on Github, and include:
- Changelog of the version
- All generated artifacts (except for the docker images)
- Update the docs with new version:
https://github.com/fission/docs.fission.io
- Prepare a new Kubernetes cluster
- Install the latest version of Fission
- Install the
$VERSIONof Fission Workflows - Run the end-to-end tests on the cluster:
test/e2e/runtests.sh