Skip to content

Instantly share code, notes, and snippets.

@nickboldt
Created November 7, 2020 03:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nickboldt/033dba0cf7bf694086d900ba6be04f5a to your computer and use it in GitHub Desktop.
Save nickboldt/033dba0cf7bf694086d900ba6be04f5a to your computer and use it in GitHub Desktop.
Che release process

Che release process

Phase 0 - permissions

  1. Get push permission from @fbenoit to push applications

  2. Get commit rights from @fbenoit to push community PRs

Phase 1 - automated build steps

  1. Create new release issue to collect blocker issues (if any)
  2. Update VERSION file in che-release repo's release branch
  3. Check cico_release.sh script is properly set up (no important steps commented out from previous partial run)
  4. Push commit to release branch
  5. Watch https://ci.centos.org/job/devtools-che-release-che-release/ for ~2hrs

Phase 2 - manual steps

  1. When che-operator PRs are created, manually do this step:
    export QUAY_ECLIPSE_CHE_USERNAME=[your quay user]
    export QUAY_ECLIPSE_CHE_PASSWORD=[your quay user]

    # DOESN'T WORK ON CENTOS CI, has to be done manually after PR generation
    # git checkout ${CHE_VERSION}
    # ./make-release.sh ${CHE_VERSION} --push-olm-files
    
    # Note: this should be moved to GH action so it can happen more easily

(if this fails, check permissions above)

  1. Manually re-trigger PR checks on 2 che-operator PRs (one for master, one for .x branch), eg.,

  2. Push operator PRs when checks have completed and they're approved

  3. export GH token to use with next step (creating PRs w/ hub)

  4. Manually run https://github.com/che-incubator/chectl make-release.sh script; watch for update to https://github.com/che-incubator/chectl/releases

  5. Push chectl PRs when approved

  6. Prepare for creation of community operator PRs via script in https://github.com/eclipse/che-operator (ONLY after ALL PRs are merged): ./olm/prepare-community-operators-update.sh

(if this fails, check permissions above)

  1. Create PRs using template https://github.com/operator-framework/community-operators/blob/master/docs/pull_request_template.md

  2. If tests fail or community operator PRs get stalled:

    • Ping @j0zi (Jozef Breza) or @mavala (Martin Vala)

Che release gotchas

  • 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.20.1)

  • releaseCheServer vs. buildCheServer - use boolean param vs. having to rememeber to toggle two different method names

  • ./make-release.sh --push-olm-files has to be run separately, then PR checks retriggered (maybe this will go away when we move to GH action).

  • can run make-release.sh for chectl before operator PRs are merged?

  • add notification (email? UMB? slack?) when che-release job is done?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment