Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EPIC: Improve release process #284

Closed
morri-son opened this issue Oct 18, 2024 · 1 comment
Closed

EPIC: Improve release process #284

morri-son opened this issue Oct 18, 2024 · 1 comment
Assignees
Labels
area/cicd Continuous Integration and Continuous Deployment related area/ipcei Important Project of Common European Interest component/ocm-core Open Component Model Core aka. go API kind/epic Large multi-story topic
Milestone

Comments

@morri-son
Copy link
Contributor

morri-son commented Oct 18, 2024

Description
The current release process für OCM CLI and GH action(s) invoked, is buggy and way too complex. The aim of this epic is to improve the current process. Going on from release 0.17.0 we will ALWAYS create at least one release candidate for every new release. The execution of the integration test suite should be included in the release process as quality gate, failing the release in case it cannot be executed successfully.

The new process should be separated into three main parts:

1.) Prerequisites and actions to be done
2.) Release of a release candidate
3.) Promotion of the release candidate

ad 1.) Instead of creating branches and manipulating the VERSION file as part of GH actions, these two actions are done manually by the engineer that creates the release BEFORE the release process is triggered:

  • checkout main branch and pushing it to the new release branch (for y and z releases)
  • adopt VERSION file to the release

ad 2.) There should be an idempotent "Release" GH action that can be used to release any kind of release. This action will be triggered on the new branch created and using the information from the VERSION file described in 1.) and creating a release candidate that can be promoted in a subsequent step. The action should include:

  • creating single assets for all produced build binaries in all supported platforms
  • creating assets for all metadata like signatures, PEM files, SBOM etc.
  • creating the CTF that contains all binaries
  • using the draft release notes from main release <vx.y.z>, labelling them "pre-release" and with a suffix as <vx.y.z>-<rc.n>
  • execute the integration test suite as quality gate and required to run successful for the complete GH action to succeed

ad 3.) There should be a "Promote Release Candidate" GH action that can be used to promote a release candidate to the final release version. The action should include:

  • using the RC release, removing the "pre-release" label and setting the "latest" label, making it final
  • using all, but the CTF asset, 1:1
  • using the CTF from the pre-release to create the final component version with the final release version (custom code required)
@morri-son morri-son added area/cicd Continuous Integration and Continuous Deployment related area/ipcei Important Project of Common European Interest component/ocm-core Open Component Model Core aka. go API labels Oct 18, 2024
@morri-son morri-son added this to the 2024-Q4 milestone Oct 18, 2024
@morri-son morri-son added the kind/epic Large multi-story topic label Oct 18, 2024
@morri-son morri-son moved this from 🆕 ToDo to 📋 Next-UP in OCM Backlog Board Oct 21, 2024
@morri-son morri-son changed the title EPIC: Clean up and improve GitHub action(s) around the "Release" process Clean up and improve GitHub action(s) around the "Release" process Oct 22, 2024
@morri-son morri-son changed the title Clean up and improve GitHub action(s) around the "Release" process EPIC: Clean up and improve GitHub action(s) around the "Release" process Oct 22, 2024
@morri-son morri-son moved this from 📋 Next-UP to 🏗 In Progress in OCM Backlog Board Oct 23, 2024
@morri-son morri-son moved this from 🏗 In Progress to 📋 Next-UP in OCM Backlog Board Oct 23, 2024
@jakobmoellerdev jakobmoellerdev moved this from 📋 Next-UP to 🏗 In Progress in OCM Backlog Board Oct 23, 2024
@morri-son morri-son changed the title EPIC: Clean up and improve GitHub action(s) around the "Release" process EPIC: Improve release process Oct 25, 2024
@hilmarf hilmarf removed this from the 2024-Q4 milestone Dec 19, 2024
@hilmarf hilmarf moved this from 🏗 In Progress to 🆕 ToDo in OCM Backlog Board Dec 19, 2024
@hilmarf hilmarf added this to the 2024-Q4 milestone Dec 19, 2024
@hilmarf
Copy link
Member

hilmarf commented Dec 19, 2024

will move unfinished subtasks to #345

@hilmarf hilmarf closed this as completed Dec 19, 2024
@github-project-automation github-project-automation bot moved this from 🆕 ToDo to 🍺 Done in OCM Backlog Board Dec 19, 2024
@ocmbot ocmbot bot moved this from 🍺 Done to 🔒Closed in OCM Backlog Board Dec 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/cicd Continuous Integration and Continuous Deployment related area/ipcei Important Project of Common European Interest component/ocm-core Open Component Model Core aka. go API kind/epic Large multi-story topic
Projects
Status: 🔒Closed
Development

No branches or pull requests

3 participants