Meshery: [CI] Establish Meshery Edge Release Channel (ci.yml)

Created on 15 Jul 2020  ·  13Comments  ·  Source: layer5io/meshery

Current Behavior
See #284 as the Epic for this issue, which specifically addresses adding an Edge release channel.

Edge Channel

Nearly the same label structure that is used for the Stable release channel can use for the Edge release channel. With slight modification the edge channel docker images tags will look like this:

The part that we’ll need to give some thought to is the logic (flag) by which we determine whether a PR is to tag docker images with “stable” or with “edge” tags. Simple logic could be:

Every docker image built gets Edge tags whether a release tag is present or not. We would leave the Stable channel logic the same as it is now in that docker images get the “stable” tags only in the presence of a Release Tag (e.g. v0.4.1).

In this way, the Stable release channel remains controlled through GitHub Release Tags, while the Edge release channel has fresh images pushed to and available in Docker Hub with every single merge to the master branch.

In this approach, we wouldn’t have an edge- docker image tag, but rather we would only have edge-latest and edge-<commit-sha> . This is probably less than ideal. We will ideally have an edge release number, too.

In order to facilitate this, we will establish a naming convention in our GitHub Release tags. e.g., release tags for Stable will follow the same format that they do today, while release tags for Edge will always have a “-edge” suffix, like so: v0.4.1-edge

Implementation
Assuming this design is befitting, we will then need to:

  • [x] Update ci.yml to account for the presence of release tags with a -edge suffix.
  • [x] Document how users can manually switch between channels by updating the docker image tags in their meshery.yaml / manifest files. (can be addressed in another issue)
  • [x] Create a convenient sub-command - mesheryctl system config --channel [stable|edge] (can be addressed in another issue)
  • [ ] Create a convenient new setting in the Preferences area of the Meshery UI, so that people can alternatively use the UI to switch between channels if they like. (can be addressed in another issue.

Resources
See the Meshery Build & Release Strategy document.

areci issuwillfix kinepic kinfeature

All 13 comments

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

Adding the willfix label. @kushthedude a good thing to see finished up. Having this channel means that we will have access to artifacts from every merge to master

@leecalcote @kushthedude is the issue still open ? Can i work in this issue?

Sure go ahead!

Heads-up .... this is a fairly involved issue.

Let's make this issue an epic since it has four major milestones.

@kushthedude FYI from the description: "See #284 as the Epic for this issue, which specifically addresses adding an Edge release channel."

But, yes, making this a (sub-)epic will work.

I just did it because most of the details are populated in the build & release doc and not every contributor until he is a member can see the doc I guess 😅 .

@kushthedude totally. I should have kept my mouth shut. Epic-to-epic-to-epic-to-epic-...-to-epic-to-child is just fine. Keep breaking down until the child is a bite-sized morsel.

Wait... that came out wrong.

@crustyy still banging away here?

@kushthedude will you confirm that this complete?

@kushthedude will you confirm that this complete?

We need the mesheryctl command to switch

3 checkboxes down! Very nice.

Was this page helpful?
0 / 5 - 0 ratings