eclipse-che / che-theia

Eclipse Public License 2.0
124 stars 110 forks source link

chore: [theia-devworkspace handler] store projects section when generating templates #1268

Closed vinokurig closed 2 years ago

vinokurig commented 2 years ago

Signed-off-by: Igor Vinokur ivinokur@redhat.com

What does this PR do?

Add an optional parameter --project.<project name>=<project location> If defined, project section in a zip format is added to the devfile template:

projects:
    - name: project-name
      zip:
        location: '{{DEVFILE_REGISTRY_URL}}/project-name.zip'

If not defined, project section in a git format is added to the devfile template:

projects:
  - name: java-spring-petclinic
    git:
      remotes:
        origin: https://github.com/che-samples/java-spring-petclinic.git
      checkoutFrom:
        revision: devfilev2

Screenshot/screencast of this PR

What issues does this PR fix or reference?

https://github.com/eclipse/che/issues/20877

How to test this PR?

  1. Build the devworkspace-handler package
  2. Run node lib/entrypoint.js --devfile-url:https://github.com/che-samples/java-spring-petclinic/tree/devfilev2 --output-file:/Users/ivinokur/projects/che-theia/tools/devworkspace-handler/a.yaml in the package root and see the default projects section in the generated template.
  3. Run node lib/entrypoint.js --devfile-url:https://github.com/che-samples/java-spring-petclinic/tree/devfilev2 --output-file:/Users/ivinokur/projects/che-theia/tools/devworkspace-handler/a.yaml --project.name={{DEVFILE_REGISTRY_URL}}/project.zip and see the projects section with the specified projects in the zip format.

PR Checklist

As the author of this Pull Request I made sure that:

Reviewers

Reviewers, please comment how you tested the PR when approving it.

Happy Path Channel

HAPPY_PATH_CHANNEL=stable

codecov[bot] commented 2 years ago

Codecov Report

Merging #1268 (21a418d) into main (c299f59) will increase coverage by 3.05%. The diff coverage is 31.04%.

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #1268      +/-   ##
==========================================
+ Coverage   32.78%   35.84%   +3.05%     
==========================================
  Files         290      324      +34     
  Lines        9885    10473     +588     
  Branches     1457     1356     -101     
==========================================
+ Hits         3241     3754     +513     
- Misses       6641     6715      +74     
- Partials        3        4       +1     
Impacted Files Coverage Δ
...theia-about/src/browser/about-che-theia-dialog.tsx 0.00% <0.00%> (ø)
...credentials/src/browser/che-credentials-service.ts 0.00% <0.00%> (ø)
...entials/src/browser/credentials-frontend-module.ts 0.00% <0.00%> (ø)
...eia-credentials/src/common/credentials-protocol.ts 0.00% <0.00%> (ø)
...eia-credentials/src/node/che-credentials-server.ts 0.00% <0.00%> (ø)
...s/src/node/che-theia-credentials-backend-module.ts 0.00% <0.00%> (ø)
...ashboard/src/browser/che-theia-dashboard-module.ts 0.00% <0.00%> (ø)
...ia-dashboard/src/browser/theia-dashboard-client.ts 0.00% <0.00%> (ø)
...rowser/src/browser/che-mini-browser-environment.ts 0.00% <0.00%> (ø)
...ia-plugin-remote/src/node/hosted-plugin-service.ts 0.00% <0.00%> (ø)
... and 260 more

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 7ad8e11...21a418d. Read the comment docs.

che-bot commented 2 years ago

:white_check_mark: E2E Happy path tests succeed :tada:

Try Che-Theia editor only Try Che-Theia with Java/maven example Try Che-Theia with NodeJs example

See Details

- [Jenkins job](https://main-jenkins-csb-crwqe.apps.ocp4.prod.psi.redhat.com/blue/organizations/jenkins/Che%2Fe2e%2Fminikube%2Fpr-check%2Fche-theia-pr-check/detail/che-theia-pr-check/628) - [test report](https://main-jenkins-csb-crwqe.apps.ocp4.prod.psi.redhat.com/job/Che/job/e2e/job/minikube/job/pr-check/job/che-theia-pr-check/628/artifact/che/tests/e2e/report/) - [logs and configs](https://main-jenkins-csb-crwqe.apps.ocp4.prod.psi.redhat.com/job/Che/job/e2e/job/minikube/job/pr-check/job/che-theia-pr-check/628/artifact/logs-and-configs/) - [Happy path tests DevFile](https://raw.githubusercontent.com/chepullreq4/pr-check-files/master/che-theia/pr-1268/happy-path-workspace.yaml) - images: | name | link| |---|---| | che-theia | quay.io/crw_pr/che-theia:1268| | che-theia-endpoint-runtime-binary | quay.io/crw_pr/che-theia-endpoint-runtime-binary:1268| **Test product**: - tested with Eclipse Che on K8S (minikube v1.22.0) - [E2E test scenario](https://github.com/eclipse/che/blob/main/tests/e2e/tests/e2e_happy_path/HappyPath.spec.ts) - [E2E test pipeline source code](https://gitlab.cee.redhat.com/codeready-workspaces/crw-jenkins/-/blob/master/jobs/Che/e2e/minikube/pr-check/che-theia-pr-check.jenkinsfile)

Eclipse Che QE channel: https://mattermost.eclipse.org/eclipse/channels/eclipse-che-qe

che-bot commented 2 years ago

:white_check_mark: E2E Happy path tests succeed :tada:

Try Che-Theia editor only Try Che-Theia with Java/maven example Try Che-Theia with NodeJs example

See Details

- [Jenkins job](https://main-jenkins-csb-crwqe.apps.ocp4.prod.psi.redhat.com/blue/organizations/jenkins/Che%2Fe2e%2Fminikube%2Fpr-check%2Fche-theia-pr-check/detail/che-theia-pr-check/629) - [test report](https://main-jenkins-csb-crwqe.apps.ocp4.prod.psi.redhat.com/job/Che/job/e2e/job/minikube/job/pr-check/job/che-theia-pr-check/629/artifact/che/tests/e2e/report/) - [logs and configs](https://main-jenkins-csb-crwqe.apps.ocp4.prod.psi.redhat.com/job/Che/job/e2e/job/minikube/job/pr-check/job/che-theia-pr-check/629/artifact/logs-and-configs/) - [Happy path tests DevFile](https://raw.githubusercontent.com/chepullreq4/pr-check-files/master/che-theia/pr-1268/happy-path-workspace.yaml) - images: | name | link| |---|---| | che-theia | quay.io/crw_pr/che-theia:1268| | che-theia-endpoint-runtime-binary | quay.io/crw_pr/che-theia-endpoint-runtime-binary:1268| **Test product**: - tested with Eclipse Che on K8S (minikube v1.22.0) - [E2E test scenario](https://github.com/eclipse/che/blob/main/tests/e2e/tests/e2e_happy_path/HappyPath.spec.ts) - [E2E test pipeline source code](https://gitlab.cee.redhat.com/codeready-workspaces/crw-jenkins/-/blob/master/jobs/Che/e2e/minikube/pr-check/che-theia-pr-check.jenkinsfile)

Eclipse Che QE channel: https://mattermost.eclipse.org/eclipse/channels/eclipse-che-qe

che-bot commented 2 years ago

:white_check_mark: E2E Happy path tests succeed :tada:

Try Che-Theia editor only Try Che-Theia with Java/maven example Try Che-Theia with NodeJs example

See Details

- [Jenkins job](https://main-jenkins-csb-crwqe.apps.ocp4.prod.psi.redhat.com/blue/organizations/jenkins/Che%2Fe2e%2Fminikube%2Fpr-check%2Fche-theia-pr-check/detail/che-theia-pr-check/630) - [test report](https://main-jenkins-csb-crwqe.apps.ocp4.prod.psi.redhat.com/job/Che/job/e2e/job/minikube/job/pr-check/job/che-theia-pr-check/630/artifact/che/tests/e2e/report/) - [logs and configs](https://main-jenkins-csb-crwqe.apps.ocp4.prod.psi.redhat.com/job/Che/job/e2e/job/minikube/job/pr-check/job/che-theia-pr-check/630/artifact/logs-and-configs/) - [Happy path tests DevFile](https://raw.githubusercontent.com/chepullreq4/pr-check-files/master/che-theia/pr-1268/happy-path-workspace.yaml) - images: | name | link| |---|---| | che-theia | quay.io/crw_pr/che-theia:1268| | che-theia-endpoint-runtime-binary | quay.io/crw_pr/che-theia-endpoint-runtime-binary:1268| **Test product**: - tested with Eclipse Che on K8S (minikube v1.22.0) - [E2E test scenario](https://github.com/eclipse/che/blob/main/tests/e2e/tests/e2e_happy_path/HappyPath.spec.ts) - [E2E test pipeline source code](https://gitlab.cee.redhat.com/codeready-workspaces/crw-jenkins/-/blob/master/jobs/Che/e2e/minikube/pr-check/che-theia-pr-check.jenkinsfile)

Eclipse Che QE channel: https://mattermost.eclipse.org/eclipse/channels/eclipse-che-qe

benoitf commented 2 years ago

I think it's safe to be merged as we're only picking up specific versions on consumer side