This repository contains complete end-to-end process and instructions for how to release new versions of the core Crossplane software.
For more information about releasing Crossplane extensions, for example Providers and Functions, please see the Crossplane documentation page.
All the details are available in the template issues linked below, but here is a summary of the process to understand how it works at a high level:
- code freeze: Merge all completed features and bug fixes into the main development branch to begin "code freeze".
- update dependencies: Ensure all dependencies are up to date, especially security related updates.
- create release branch: Create a new release branch using the GitHub UI for the repo.
- publish RC build: Tag, build, and publish a release candidate (RC) build for the community to test and provide feedback on.
- fix critical issues: Triage and fix any critical issues found in the RC build and ensure all fixes are backported to the release branch.
- publish release build: Tag, build, and publish the final release build
- run docs release: Run the release process for docs.crossplane.io
- verify: Verify all artifacts have been published successfully, perform sanity testing.
- release notes: Publish well authored and complete release notes on GitHub.
- announce: Announce the release on Crossplane social media accounts.
The complete step-by-step process to release Crossplane is captured in the below GitHub issue templates:
When preparing to run a Crossplane release, open a tracking issue using the relevant template above, and follow the entire checklist of instructions to completion.