k3s/docs/release/release.md

2.6 KiB

K3S Release Process

Setup

Set up you environment per setup.

Generate New Tags for K3S-IO/Kubernetes Fork

  1. Generate specific environment variables per setup rc.
  2. Set up Kubernetes repos per setup k8s repos.
  3. Rebase your local copy to move the old k3s tag from the old k8s tag to the new k8s tag, per rebase.
  4. Build a custom container for generating tags, per build container.
  5. Run the tag script to generate tags in the build container, per tagging.

Update K3S

We made some new tags on the k3s-io/kubernetes repo, now we need to tell k3s to use them.

  1. If no milestones exist in the k3s repo for the releases, generate them, per milestones.
  2. Set up k3s repos per setup k3s repos.
  3. Generate a pull request to update k3s, per generate pull request.

Cut Release Candidate

  1. The first part of cutting a release (either an RC or a GA) is to create the release itself, per cut release.
  2. Then we need to update KDM, per update kdm.
  3. We create release images, per release images.
  4. Then we need to update or generate the release notes, per release notes.

Create GA Release

After QA approves the release candidates you need to cut the "GA" release.
This will be tested one more time before the release is considered ready for finalization.

Follow the processes for an RC release:

  1. Cut Release
  2. Update KDM
  3. Create Release Images
  4. Update Release Notes

Make sure you are in constant communication with QA during this time so that you can cut more RCs if necessary, update KDM if necessary, radiate information to the rest of the team and help them in any way possible.
When QA approves the GA release you can move into the finalization phase.

Finalization

  1. Update the channel server, per channel server
  2. Copy the release notes into the release, per release notes
  3. Wait 24 hours, then uncheck the pre-release checkbox on the release.
  4. Edit the release, and check the "set as latest release" checkbox on the "latest" release.
    • only one release can be latest
    • this will most likely be the patch for the highest/newest minor version
    • check with QA for which release this should be