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 generate
or 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-charts
repo. 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
$VERSION
of Fission Workflows - Run the end-to-end tests on the cluster:
test/e2e/runtests.sh