-
Notifications
You must be signed in to change notification settings - Fork 12.1k
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
Packages: update versioning and release process #18195
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good!"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good -- I'll wait for you to get back to pull the trigger :)
As suggested by @xlson
Co-Authored-By: Leonard Gram <leo@xlson.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM too!
* grafana/query-observable: TimeSeries: Replace fieldName with fieldIndex (#19030) DataLinksInput - change the way enter key is handled (#18985) TimeSeries: Add data frame index and field name (#19005) Packages: update versioning and release process (#18195) API: Add `updatedAt` to api/users/:id (#19004)
* grafana/master: toolkit: fix master build, avoid null check (grafana#19055) Auth: Allow inviting existing users when login form is disabled (grafana#19048) MSSQL: Fix memory leak when debug enabled (grafana#19049) Update CONTRIBUTING.md (grafana#19051) Update README.md (grafana#19047) toolkit: pipe execa output to console.stdout (grafana#19052) QueryProcessing: Observable query interface and RxJS for query & stream processing (grafana#18899) Fix exit live mode icon: change back to Stop. (grafana#19043) Loki: Fix vertical alignment issue in label selector (grafana#18943) Fix: Align buttons and label in ToggleButtonGroup (grafana#19036) toolkit: run make for backend plugins (grafana#19029) Explore: Fix auto completion on label values for Loki (grafana#18988) TimeSeries: Replace fieldName with fieldIndex (grafana#19030) DataLinksInput - change the way enter key is handled (grafana#18985) TimeSeries: Add data frame index and field name (grafana#19005) Packages: update versioning and release process (grafana#18195)
@ryantxu @torkelo
This PR introduces updated Readmes that summarise guidelines about packages versioning and releases. Also, ALPHA notices are added to every package's Readme.
I have been thinking recently about the approach to versioning packages. This seems to be slightly tricky, especially that we have some experience now with loads of versions pushed to npm.
Here are my thoughts:
alpha
prerelease id in every version of packages. I think having an an explicite warnings about packages being in ALPHA state until further notice is sufficient. Having alpha in every version on npm is making managing versioning more complicated than it should be and it doesn't bring us any value and it's a pain to say which version of package corresponds to which version of Grafana.latest
- version that is released with latest stable Grafana, i.e. 6.2.5next
- version that is released with current Grafana prerelease, i.e. 6.3.0.beta.1canary
- version that is released directly from master on every merge, i.e. 6.4.0-pre-bbc3e10b. My main motivation forcanary
is that master isn't actually the next version. It's a possible next version, depending on the commits that's gonna be cherry picked to the release branch. Also, what is very important,lerna.json
version on master should always be the same as in package.json, meaning it's the next major/minor i.e.6.4.0-pre
. Thepre
doesn't seem like semantic versioning, but as long as we are consistent, this should not be an issue. Grafana doesn't strictly follow semver anyways.So, some action points if this is going to be merged and followed:
scripts/circle-release-next-packages.sh
to publish tocanary
dist-tag instead ofnext
:packages:publishCanary
scriptyarn packages:publish --dist-tag canary --yes
in the script6.4.0-pre
)We should consider publishing from master (canary release according to ^^) to different registry than npm and maybe treat npm as a source of packages released with Grafana. This is described in Packages: versioning and releases #18038 (comment) . Thanks to that we could avoid having a lot of noise in our npm history.We don't have access to GH package registry yet.