Skip to content

Latest commit

 

History

History
27 lines (19 loc) · 1.63 KB

RELEASE.md

File metadata and controls

27 lines (19 loc) · 1.63 KB

Release

This document describes how to release the Equinix Metal (formerly Packet) infrastructure provider.

This is not intended for regular users.

This is normally performed by our CI system. However, there are important steps to take first.

How to Cut a Release

In order to cut a release, you must:

  1. If this is a new major or minor version - but not just a patch change - update metadata.yaml to add it, and map it to the correct cluster-api contract version
  2. Update packet-ci-actions.yaml and packet-ci.yaml to use the new version number for the current and/or new contract version of the packet InfrastructureProvider.
  3. If this is a new major or minor version - but not just a patch chagne - update packet-ci-actions.yaml and packet-ci.yaml to have a new "next" version number for the latest contract version of the packet InfrastructureProvider.
  4. Commit the changes.
  5. Push out your branch, open a PR and merge the changes
  6. Wait for the Continuous Integration github action to finish running
  7. Tag the release with `git tag -a vX.Y.z -m "Message"
  8. Push out the tag

How A Release Happens

  • GitHub Actions detects a new tag has been pushed
  • CI builds docker images for each supported architecture as well as a multi-arch manifest, and tags it with the semver tag of the release, e.g. v0.4.0
  • CI creates the release in out/release, the equivalent of make release
  • CI copies the artifacts in out/release/* to the github releases