This repo contains the tooling and infrastructure to create Kubernetes releases from the kubernetes/kubernetes main repository.
There are several scripts and helpers in this repository a release manager will find useful when managing all kinds of releases (alpha, beta, official, rc) across branches.
Most tools in this repo run by default in mock mode to allow for ease in development and testing.
Tools | Description |
---|---|
krel |
Kubernetes Release Toolbox This is the new golang based tool for managing releases |
anago |
Release Tool: The main driver for creating staged builds and releases. This is what runs inside GCB after a job is submitted using krel gcbmgr . |
find_green_build |
Asks Jenkins for a good build to use. |
release-notes |
Scrape GitHub for release notes. See Release Notes Gathering for more information. |
prin |
To show release tags of a particular PR or commit. |
push-build.sh |
Pushes a developer build or CI Jenkins build up to GCS. |
script-template |
Generates a script template in the kubernetes/release ecosystem. |
testgridshot |
Screenshots failing testgrid dashboards and creates a markdown stub that can be copied and pasted into a GitHub issue comment. This makes it easier to create comments like this as part of the release process. |
For information on how to use krel
and anago
, see the Branch Manager Handbook
For more extensive build and usage documentation for the release-notes
tool, see the documentation.
Once the tool is installed, use -h
or --help
to see the command usage:
$ release-notes -h
Usage of release-notes:
-end-sha string
The commit hash to end at
-format string
The format for notes output (options: markdown, json) (default "markdown")
-github-token string
A personal GitHub access token (required)
-output string
The path to the where the release notes will be printed
-start-sha string
The commit hash to start at
See the kubepkg
documentation for instructions on how to build debs and rpms.
Please see CONTRIBUTING.md for instructions on how to contribute.