This repo contains orchestration scripts for Eclipse Che artifacts and container images.
Job is https://ci.centos.org/job/devtools-che-release-che-release
Note that over time, this job, and all the jobs called by it, will be migrated to a GH action script.
-
Get push permission from @fbenoit to push applications
-
Get commit rights from @fbenoit to push community PRs
-
Create new release issue to report status and collect any blocking issues
-
Update
VERSION
file in che-release repo's release branch, including enabling the PHASES (currently 1 - 7) -
Push commit to
release
branch (with-f
force if needed) -
Wait until https://ci.centos.org/job/devtools-che-release-che-release/ completes (2-3 hrs)
TODO: add notification when build is done - email? slack? mattermost?
-
NOTE: If the build should fail, check log for which step crashed (eg., due to rate limiting or other errors), like E2E test failures. Sometimes simply re-running will help.
-
To skip sections which have completed successfully, simply remove
PHASES
from theVERSION
file and commit that change to therelease
branch to trigger the parts of the release that were not successful.
TODO: move this step into a GH action. TODO: set up the above action to fire when a PR like https://github.com/eclipse/che-operator/pull/571/files is merged, eg., when: olm/eclipse-che-preview-openshift/deploy/olm-catalog/eclipse-che-preview-openshift/eclipse-che-preview-openshift.package.yaml and olm/eclipse-che-preview-kubernetes/deploy/olm-catalog/eclipse-che-preview-kubernetes/eclipse-che-preview-kubernetes.package.yaml are updated
This depends on the che-operator PRs being merged.
-
Prepare for creation of community operator PRs via script in https://github.com/eclipse/che-operator (ONLY after ALL PRs for che-operator and chectl are merged):
./olm/prepare-community-operators-update.sh
-
Once created you'll see our PRs here:
-
If tests fail or community operator PRs get stalled: * Ping @j0zi (Jozef Breza) or @mavala (Martin Vala)
-
After creating the PRs, add a link to the new PRs from the release issue, eg.,
TODO: set GH action to trigger when community PRs are merged? Can we trigger across repos? See problem in eclipse-che/che#18627
This depends on the che-operator PRs being merged (but not the community PRs).
-
Run this action: https://github.com/che-incubator/chectl/actions?query=workflow%3A%22Release+-+create+pull+request+for+upcoming+release%22
-
Find the generated PR: https://github.com/che-incubator/chectl/pulls?q=is%3Apr+author%3Aapp%2Fgithub-actions+%22Release+version%22+is%3Aopen
-
Once approved / tests passed / known failures overridden, commit the PR, eg., che-incubator/chectl#1021
-
This second action should run automatically on commit of the above PR: https://github.com/che-incubator/chectl/actions?query=workflow%3A%22Release+-+generate%20release%20and%20push%20artifacts%20to%20github%20pages%20(after%20PR%20approved)%22
-
VERSION file - should we add a test to verify we're not trying to re-release an existing release w/o an explicit override?
-
add step to delete existing tag if exists and need to re-run a step (eg., broken theia needs a re-release of
:7.y.z+1
) -
can run
make-release.sh
for chectl before operator PRs are merged? does it make sense to create the GH release BEFORE we run the make-release script? -
add notification (email? UMB? slack?) when che-release job is done?