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

Move Che release workflow from Centos CI #17857

Closed
21 tasks done
mkuznyetsov opened this issue Sep 14, 2020 · 24 comments
Closed
21 tasks done

Move Che release workflow from Centos CI #17857

mkuznyetsov opened this issue Sep 14, 2020 · 24 comments
Assignees
Labels
kind/epic A long-lived, PM-driven feature request. Must include a checklist of items that must be completed. severity/blocker Causes system to crash and be non-recoverable or prevents Che developers from working on Che code.
Milestone

Comments

@mkuznyetsov
Copy link
Contributor

mkuznyetsov commented Sep 14, 2020

Is your task related to a problem? Please describe.

Centos CI was announced to be deprecated around the end of this autumn. Before that happens, we would want to move to the alternative options, that would allow us to perform release processes.

This issue is only about Che release related projects, for example, QE test jobs are not covered here.

List of projects, that require CI for release:

  • machine-exec (docker image, Golang project)
    • remove cico action che-machine-exec-release
  • devfile-registry + plugin-registry (docker image)
    • remove cico actions for release branch
  • che-theia (docker images)
    • remove cico action for release branch, che-theia-che-release
  • che-dashboard (docker image, Typescript project)
  • che-workspace-loader (docker image, Golang project)
  • che-server (docker images, Java Maven project + publishing on Nexus, publishing Typescipt DTO on npmjs.org)
  • che-docs (simple tagging GH action)
    • remove cico action for release branch, che-docs-che-release
  • che-operator (docker image, generating & pushing OLM files)
  • community PRs (generated PRs only)
  • chectl (node JS build)
  • overall che-release orchestrator
    • add PHASES
    • verify work for full set of phases 1-7
  • remove cico che-* credentials -- won't do, too many remaning jobs to migrate first - see Remove obsolete nightly/RC jobs from ci centos #19287
  • overall che-release readme/docs

We should also ensure that CI builds (nightly, latest, next), tests, and Hosted Che jobs are also migrated away from Centos CI.

See https://gitlab.cee.redhat.com/service/app-interface/-/blob/master/resources/jenkins/ci-centos/defaults.yaml

Ideally, we would want to preserve a workflow, of having 1 primary workflow, that would run all the subsequent tasks in the correct order, considering that some builds must be triggered after others, some can be run in parallel etc..

One of the alternatives to be considered is Github Actions. Some of the projects, e.g. Che Dashboard already run daily builds, so we should try creating a similar job, that would cover full release workflow for it.

@mkuznyetsov mkuznyetsov added the kind/epic A long-lived, PM-driven feature request. Must include a checklist of items that must be completed. label Sep 14, 2020
@che-bot che-bot added the status/need-triage An issue that needs to be prioritized by the curator responsible for the triage. See https://github. label Sep 14, 2020
@vparfonov vparfonov added area/productization severity/P1 Has a major impact to usage or development of the system. and removed status/need-triage An issue that needs to be prioritized by the curator responsible for the triage. See https://github. labels Sep 14, 2020
@nickboldt
Copy link
Contributor

@nickboldt
Copy link
Contributor

nickboldt commented Dec 9, 2020

Initial attempt to (easily) move to a GH action to invoke che-release process has failed, see #18576

A day later, it's better... but we need to load some secrets to try it out properly.

@nickboldt
Copy link
Contributor

plugin and devfile registry RELEASE moved to GH actions:

PR to remove plugin and devfile release actions from cico: https://gitlab.cee.redhat.com/service/app-interface/-/merge_requests/13061

NOTE: this does not affect the release-preview job that Hosted Che uses https://ci.centos.org/job/devtools-che-plugin-registry-release-preview/ which should ALSO be migrated away from CICO eventually.

@nickboldt
Copy link
Contributor

Looks like the che-bot (or the GH action bot?) doesn't have permission to push to che-incubator/community-operators.

 create mode 100644 upstream-community-operators/eclipse-che/7.23.0/checlusters.org.eclipse.che.crd.yaml
 create mode 100644 upstream-community-operators/eclipse-che/7.23.0/eclipse-che.v7.23.0.clusterserviceversion.yaml

   - Push branch update-eclipse-che-upstream-operator-7.23.0 to the 'che-incubator/community-operators' GitHub repository
Warning: Permanently added the RSA host key for IP address '140.82.114.3' to the list of known hosts.
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
Error: Process completed with exit code 128.

-- https://github.com/eclipse/che-operator/runs/1557932455?check_suite_focus=true

@benoitf
Copy link
Contributor

benoitf commented Dec 15, 2020

I've checked that che-bot has write permissions to che-incubator/community-operators github repository

@benoitf
Copy link
Contributor

benoitf commented Dec 15, 2020

Token needs to be given to git tool (as it's an external org/repository)

@nickboldt
Copy link
Contributor

@benoitf has created a new bot: https://github.com/che-incubator-bot and shared its credentials with the che-incubator org.

Latest news on the ci centos shutdown can be seen in https://issues.redhat.com/browse/APPSRE-2140

@nickboldt nickboldt modified the milestones: 7.24, 7.25 Jan 8, 2021
@nickboldt
Copy link
Contributor

nickboldt commented Feb 11, 2021

Only a few weeks left (one sprint) before cico is decommissioned!

Do we have all the nightlies, tests, and releases moved over to GH action? cc: @rhopp @benoitf

Bumping from P1 to P0 so we make sure this is the highest priority in backlog.

@nickboldt nickboldt modified the milestones: 7.26, 7.27 Feb 11, 2021
@nickboldt nickboldt added severity/blocker Causes system to crash and be non-recoverable or prevents Che developers from working on Che code. and removed severity/P1 Has a major impact to usage or development of the system. labels Feb 11, 2021
@nickboldt
Copy link
Contributor

@mkuznyetsov I've added a couple TODOs to this issue:

Please review my PR for the first, and submit a PR for the second.

@mkuznyetsov
Copy link
Contributor Author

and looks like all essential release jobs for upstream Che release are now finally done on GitHub Actions workflows. So it's time for old jobs & docs cleanup.

@nickboldt
Copy link
Contributor

Still waiting on a review of #19063 so I can merge it... :( 7 days = sadness

Also waiting on a rebase / fix in https://gitlab.cee.redhat.com/service/app-interface/-/merge_requests/15206/

@benoitf
Copy link
Contributor

benoitf commented Feb 19, 2021

you can ping me before if I forgot some reviews

@nickboldt
Copy link
Contributor

getting closer to being done here - both PR and MR from my previous comment are merged.

@nickboldt
Copy link
Contributor

nickboldt commented Feb 22, 2021

@mkuznyetsov
Copy link
Contributor Author

I've removed credentials for che-operator, that I have myself added for operator release on CentOS CI, so I know that only I have used them

But as for remove cico che-* credentials? section, I'm not sure if I can do it, since those still may be used by some nigthly/Hosted Che related jobs

@nickboldt
Copy link
Contributor

Seems we still have some actively running che jobs on CICO:

image
image

Also seeing lots of recently-run builds here:

https://ci.centos.org/view/Devtools/

@ericwill
Copy link
Contributor

The release preview jobs are for Hosted Che, which will EOL in 4 days. After that we can remove them.

@nickboldt
Copy link
Contributor

oh, good! what about ...

image

and

image

@nickboldt
Copy link
Contributor

nickboldt commented Feb 24, 2021

For example
https://ci.centos.org/view/Devtools/job/devtools-che-devfile-registry-build-master/261/console ->
https://quay.io/repository/eclipse/che-devfile-registry?tag=ecabf9b&tab=tags seems to be the current process for publishing nightlies.

but there's also https://github.com/eclipse/che-devfile-registry/blob/master/.github/workflows/nightly-build-publish.yml -> https://github.com/eclipse/che-devfile-registry/runs/1928193391?check_suite_focus=true which seems to have attempted to push the same tags (which already exist in quay due to the cico build?)

Feb 18 10:33 GMT-5 or 3:33pm (according to CICO) trigger:

  • GH action: finished in 20m59s -> 10:54 gmt-5 (pushed two tags nightly + ecabf9b)
  • CICO: finished in 2m43s (pushed only the ecabf9b tag)

@ericwill
Copy link
Contributor

For example
https://ci.centos.org/view/Devtools/job/devtools-che-devfile-registry-build-master/261/console ->
https://quay.io/repository/eclipse/che-devfile-registry?tag=ecabf9b&tab=tags seems to be the current process for publishing nightlies.

but there's also https://github.com/eclipse/che-devfile-registry/blob/master/.github/workflows/nightly-build-publish.yml

It's a duplicate job, we've had successful nightly build jobs via GitHub action for ages now:
https://github.com/eclipse/che-devfile-registry/runs/1928193391?check_suite_focus=true

I'll remove it from the cico job list

@ericwill
Copy link
Contributor

@nickboldt
Copy link
Contributor

nickboldt commented Mar 12, 2021

any updates here re: doc or removal of unneeded credentials?

@nickboldt
Copy link
Contributor

Re: remove cico che-* credentials
We won't do this - there are too many remaning jobs to migrate first - see #19287 for followup (which probably needs to be split into prod and qe sub tasks).

@nickboldt
Copy link
Contributor

nickboldt commented Mar 19, 2021

Doc update:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/epic A long-lived, PM-driven feature request. Must include a checklist of items that must be completed. severity/blocker Causes system to crash and be non-recoverable or prevents Che developers from working on Che code.
Projects
None yet
Development

No branches or pull requests

7 participants