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

Deduplicate samples between che-samples and devspaces-samples #21586

Closed
Tracked by #21942 ...
nickboldt opened this issue Jul 26, 2022 · 6 comments
Closed
Tracked by #21942 ...

Deduplicate samples between che-samples and devspaces-samples #21586

nickboldt opened this issue Jul 26, 2022 · 6 comments
Labels
area/samples kind/task Internal things, technical debt, and to-do tasks to be performed. lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale.

Comments

@nickboldt
Copy link
Contributor

nickboldt commented Jul 26, 2022

Is your task related to a problem? Please describe

Today in the Dev Sandbox at https://workspaces.openshift.com we see samples from both Che and CRW 2.15 (soon Dev Spaces 3).

A number of these samples look identical or are at least exposing the same type of project and therefore are redundant to what we're trying to achieve w/ providing a sample or two per language/runtime/env.

c/c++/go
image

java / quarkus:
image
image

node:
image

php:
image

python:
image

Describe the solution you'd like

It would probably make sense to remove samples from devspaces-samples and just reuse the upstream ones, provided that there's a build-time way to override the UDI image used in the devfile when building for the product version.

Describe alternatives you've considered

Alternatively, we could set up a sync process (Jenkins job + sync.sh script) between che-samples/foo and devspaces-samples/foo so that we get the latest from upstream but then use a transformation rule to convert them to use the productized UDI image instead of the Che one.

Additional context

We might need to review the links under "Try Eclipse Che online" at https://www.eclipse.org/che/ in case some of those point to older / deprecated / removed / archived samples.

@nickboldt nickboldt added the kind/task Internal things, technical debt, and to-do tasks to be performed. label Jul 26, 2022
@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 Jul 26, 2022
@dkwon17 dkwon17 added area/samples and removed status/need-triage An issue that needs to be prioritized by the curator responsible for the triage. See https://github. labels Jul 26, 2022
@l0rd
Copy link
Contributor

l0rd commented Jul 26, 2022

The samples we are using in Che now are:

$ curl -sSL https://eclipse-che.github.io/che-devfile-registry/main/devfiles/index.json | jq '.[].links.v2' | sort                                "https://github.com/che-samples/apache-camel-k/tree/devfilev2"
"https://github.com/che-samples/aspnetcore-realworld-example-app/tree/devfilev2"
"https://github.com/che-samples/bash/tree/devfilev2"
"https://github.com/che-samples/cpp-hello-world/tree/devfilev2"
"https://github.com/che-samples/django-realworld-example-app/tree/devfile2"
"https://github.com/che-samples/fuse-rest-http-booster/tree/devfilev2"
"https://github.com/che-samples/golang-example/tree/devfilev2"
"https://github.com/che-samples/helloworld-rust/tree/devfilev2"
"https://github.com/che-samples/java-guestbook/tree/devfilev2"
"https://github.com/che-samples/java-spring-petclinic/tree/devfilev2"
"https://github.com/che-samples/lombok-project-sample/tree/devfilev2"
"https://github.com/che-samples/nodejs-angular/tree/devfilev2"
"https://github.com/che-samples/nodejs-mongodb-sample/tree/devfilev2"
"https://github.com/che-samples/nodejs-react-redux/tree/devfilev2"
"https://github.com/che-samples/php-symfony/tree/devfilev2"
"https://github.com/che-samples/python-hello-world/tree/devfilev2"
"https://github.com/che-samples/quarkus-quickstarts/tree/devfilev2"
"https://github.com/che-samples/react-web-app/tree/devfilev2"
"https://github.com/che-samples/scala-sbt/tree/devfilev2"
"https://github.com/che-samples/web-nodejs-sample/tree/devfilev2"

Which are the ones are duplicates @nickboldt @svor?

@nickboldt
Copy link
Contributor Author

nickboldt commented Jul 27, 2022

Downstream devfiles are referenced in https://github.com/redhat-developer/devspaces/tree/devspaces-3-rhel-8/dependencies/che-devfile-registry/devfiles/ ... */meta.yaml

$➔ for d in /path/to/devspaces/dependencies/che-devfile-registry/devfiles/*/meta.yaml; do yq -r '.links.v2' $d; done
https://github.com/devspaces-samples/jboss-eap-quickstarts/tree/devspaces-3-rhel-8
https://github.com/devspaces-samples/microprofile-quickstart-bootable/tree/devspaces-3-rhel-8
https://github.com/devspaces-samples/microprofile-quickstart/tree/devspaces-3-rhel-8
>> https://github.com/devspaces-samples/fuse-rest-http-booster/tree/devspaces-3-rhel-8 <<
https://github.com/devspaces-samples/camel-k/tree/devspaces-3-rhel-8
https://github.com/devspaces-samples/gs-validating-form-input/tree/devspaces-3-rhel-8
>> https://github.com/devspaces-samples/lombok-project-sample/tree/devspaces-3-rhel-8 << 
>> https://github.com/devspaces-samples/quarkus-quickstarts/tree/devspaces-3-rhel-8 << 
https://github.com/devspaces-samples/vertx-http-example/tree/devspaces-3-rhel-8
https://github.com/devspaces-samples/vertx-health-checks-example-redhat/tree/devspaces-3-rhel-8
https://github.com/devspaces-samples/rest-http-example/tree/devspaces-3-rhel-8
https://github.com/devspaces-samples/nodejs-configmap/tree/devspaces-3-rhel-8
>> https://github.com/devspaces-samples/nodejs-mongodb-sample/tree/devspaces-3-rhel-8 <<
>> https://github.com/devspaces-samples/web-nodejs-sample/tree/devspaces-3-rhel-8 << 
>> https://github.com/devspaces-samples/python-hello-world/tree/devspaces-3-rhel-8 << 
https://github.com/devspaces-samples/c-plus-plus/tree/devspaces-3-rhel-8
https://github.com/devspaces-samples/dotnet-web-simple/tree/devspaces-3-rhel-8
https://github.com/devspaces-samples/golang-health-check/tree/devspaces-3-rhel-8
https://github.com/devspaces-samples/cakephp-ex/tree/devspaces-3-rhel-8
https://github.com/devspaces-samples/demo/tree/devspaces-3-rhel-8

There are at least 6 samples that share a name with the che-samples equivalent.

Others might be similar / equivalent and for those, we could decide to choose one or the other... for example how is golang-health-check different from golang-example ? How many different nodejs or java samples do we need between Che and DS?

@svor
Copy link
Contributor

svor commented Jul 28, 2022

Here is the list of duplicates:

I think we can also use the same sample for PHP, CPP, GO, NodeJs devfiles, just need to decide which one is better.

@nickboldt nickboldt mentioned this issue Aug 25, 2022
82 tasks
@nickboldt nickboldt mentioned this issue Jan 23, 2023
32 tasks
@che-bot
Copy link
Contributor

che-bot commented Jan 24, 2023

Issues go stale after 180 days of inactivity. lifecycle/stale issues rot after an additional 7 days of inactivity and eventually close.

Mark the issue as fresh with /remove-lifecycle stale in a new comment.

If this issue is safe to close now please do so.

Moderators: Add lifecycle/frozen label to avoid stale mode.

@che-bot che-bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jan 24, 2023
@svor svor removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jan 24, 2023
@l0rd l0rd mentioned this issue Mar 6, 2023
7 tasks
@che-bot
Copy link
Contributor

che-bot commented Jul 23, 2023

Issues go stale after 180 days of inactivity. lifecycle/stale issues rot after an additional 7 days of inactivity and eventually close.

Mark the issue as fresh with /remove-lifecycle stale in a new comment.

If this issue is safe to close now please do so.

Moderators: Add lifecycle/frozen label to avoid stale mode.

@che-bot che-bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jul 23, 2023
@svor svor removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jul 24, 2023
@che-bot
Copy link
Contributor

che-bot commented Jan 20, 2024

Issues go stale after 180 days of inactivity. lifecycle/stale issues rot after an additional 7 days of inactivity and eventually close.

Mark the issue as fresh with /remove-lifecycle stale in a new comment.

If this issue is safe to close now please do so.

Moderators: Add lifecycle/frozen label to avoid stale mode.

@che-bot che-bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jan 20, 2024
@che-bot che-bot closed this as completed Jan 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/samples kind/task Internal things, technical debt, and to-do tasks to be performed. lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale.
Projects
None yet
Development

No branches or pull requests

5 participants