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

Set up release for Dashboard Next #17647

Closed
sleshchenko opened this issue Aug 17, 2020 · 11 comments
Closed

Set up release for Dashboard Next #17647

sleshchenko opened this issue Aug 17, 2020 · 11 comments
Assignees
Labels
area/dashboard kind/task Internal things, technical debt, and to-do tasks to be performed. severity/P2 Has a minor but important impact to the usage or development of the system.
Milestone

Comments

@sleshchenko
Copy link
Member

sleshchenko commented Aug 17, 2020

Is your task related to a problem? Please describe.

Currently, Dashboard Next is packaged into Che from next dockerimage image that we have at Che release time.

It was chosen as an easier way to go: the release of dashboard next is not really mandatory since we don't have fully complete basic workflows (it's kind of alpha phase).

It has a drawback because if we want to check which dashboard next snapshot is included into Che release - we need to figure out which image is included, find the corresponding commit in the Dashboard Next repo and then analyze history somehow.
It would be much easier if we start releasing Dashboard Next, technically it's pretty easy to implement but we need to agree on some aspects:

  1. Does anybody see any issues in starting releasing Dashboard Next now?
  2. Ideally, we should release alpha version, but from a release perspective, it's easier to follow Che versioning. Does anybody see any issues to release such alpha component as dashboard next as usual Che version, like 7.19.0, 7.20.0, ... ?
@sleshchenko sleshchenko added kind/task Internal things, technical debt, and to-do tasks to be performed. area/dashboard labels Aug 17, 2020
@sleshchenko
Copy link
Member Author

@l0rd @nickboldt @mkuznyetsov WDYT?

@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 Aug 17, 2020
@metlos metlos added severity/P2 Has a minor but important impact to the 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 Aug 18, 2020
@sunix
Copy link
Contributor

sunix commented Aug 18, 2020

about about tags like 7.17.0-next

@sleshchenko
Copy link
Member Author

@sunix What the motivation to use next? next seems to indicate that it's rolling tag, but not release...
So, I would better go with the same versioning as Che has, che-dashboard-next:7.17.0
or if different versions not going to make our life more difficult - go with alpha, like che-dashboard-next:7.17.0-alpha or even che-dashboard-next:7.17.0-dev

@sunix
Copy link
Contributor

sunix commented Aug 18, 2020

the problem with renaming the image name is that it will be hard to maintain: it is a new version of the dashboard and not anything else, not a new project. It will replace the current dashboard in the near futur. To me it sounds very confusing. If at some point we switch che-dashboard-next to che-dashboard what should we do for the "old" che-dashboard-next images ? somehow deprecate them ... => confusing and more work for us

If you could keep the image name, it would be simpler and more consistent for the futur.

There is nothing in 7.xx.x-next that indicates it is a rolling tag to me. But it could be 7.17.0-dev or 7.17.0-new or 7.17.0-dnext or 7.17.0-next-alpha or 7.17.0-dashboardnext

In the maven world, we have something called 'Qualifier' for these kind of things

@sleshchenko
Copy link
Member Author

sleshchenko commented Oct 6, 2020

@sunix Thanks for sharing your thoughts!
We're going to have the following:

  1. Dashboard container is deployed as a separate deployment.
  2. Dashboard image as previously lives in quay.io/eclipse/che-dashboard and is apache based server that serves dashboard resources.
  3. Dashboard next lives in quay.io/eclipse/che-dashboard as well but is tagged as 7.X.X-react or next-react. It's based on the corresponding version of dashboard container + dashboard next resources.
  4. Che Dashboard deployment is going to have next image by default. But users are able to configure non-next dashboard if they want.
  5. One-day dashboard images are no longer built and dashboard-next becomes the usual dashboard with tags 7.x.x

@sleshchenko
Copy link
Member Author

Update: to avoid confusion with next word in two meanings (one is dashboard next, another is next changes from main branch), we agreed to the following tags: 7.X.X + next - existing dashboard, 7.X.X-react + next-react (Dashboard next which is react based).#17647 (comment) is updated

@nickboldt
Copy link
Contributor

So for Che 7.23, you're asking that:

  • Dashboard next (react based) and Dashboard (old version) are deployed via manually invoked GH actions (one for each).
    ** Dashboard old continues to be published to quay.io/eclipse/che-dashboard:7.23.0
    ** Dashboard next (react) will start to be published to quay.io/eclipse/che-dashboard:7.23.0-react

  • a new nightly ci.yaml GH action (or a modified one) will also start publishing :next-react nightly images

  • che-release orchestration script will be updated to call both these on-demand GH actions

Che Dashboard deployment is going to have next image by default.

This is a problem for me since CRW 2.6 will be based on Che 7.24, and it seems like Dashboard Next isn't quite ready for product inclusion.

But users are able to configure non-next dashboard if they want.

Can we disable it in CRW 2.6?

@sleshchenko
Copy link
Member Author

a new nightly ci.yaml GH action (or a modified one) will also start publishing :next-react nightly images

That's already done in https://github.com/che-incubator/che-dashboard-next/blob/master/.github/workflows/dockerimage.yml

Che Dashboard deployment is going to have next image by default.

This is a problem for me since CRW 2.6 will be based on Che 7.24,

I assumed it's not an issue for CRW since it has its own Dockerfile that can still be with the existing dashboard only.

Dashboard next (react based) and Dashboard (old version) are deployed via manually invoked GH actions (one for each).
** Dashboard old continues to be published to quay.io/eclipse/che-dashboard:7.23.0
** Dashboard next (react) will start to be published to quay.io/eclipse/che-dashboard:7.23.0-react

  • che-release orchestration script will be updated to call both these on-demand GH actions

Yes, it's what we're asking.

Tomorrow we'll discuss the promotion of the Dashboard Next. As I've had announced on Che Community Call, on 7.25 we're going to replace Dashboard with Dashboard Next. But we still need to make a clear plan if we should promote it into CRW 2.7 or 2.8, hopefully not later.

@nickboldt
Copy link
Contributor

nickboldt commented Dec 7, 2020

ah, ok, if it's for 7.25 I'm less worried. :)

Is the plan to merge https://github.com/che-incubator/che-dashboard-next into the che-dashboard repo? If so, is that happening in 7.25, too?

Note that the internal call is Wed this week due to demos.

@nickboldt nickboldt modified the milestones: 7.23, 7.25 Dec 7, 2020
@sleshchenko
Copy link
Member Author

Is the plan to merge che-incubator/che-dashboard-next into the che-dashboard repo? If so, is that happening in 7.25, too?

I planned to do it, like the existing dashboard could be moved to the legacy branch, and the dashboard next can start live in a new default branch called main. So, we won't have an issue with force push to the master branch.
I'll prepare a more detailed plan with a timeframe.

@sleshchenko
Copy link
Member Author

There is nothing to do, React-based Dashboard will get release process set up once it's moved to master branch https://github.com/eclipse/che-dashboard/tree/main-react/.github since it reuses the same build procedure we can just use the same release github action.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/dashboard kind/task Internal things, technical debt, and to-do tasks to be performed. severity/P2 Has a minor but important impact to the usage or development of the system.
Projects
None yet
Development

No branches or pull requests

6 participants