We use Lerna for packages versioning and releases
All packages are versioned according to the current Grafana version:
- Grafana v6.3.0-alpha1 -> @grafana/* packages @ 6.3.0-alpha.1
- Grafana v6.2.5 -> @grafana/* packages @ 6.2.5
- Grafana - master branch version (based on package.json, i.e. 6.4.0-pre) -> @grafana/* packages @ 6.4.0-pre- (see details below about packages publishing channels)
Please note that @grafana/toolkit, @grafana/ui, @grafana/data & @grafana/runtime packages are considered ALPHA even though they are not released as alpha versions
Even though packages are released under a stable version, they are considered ALPHA until further notice!
Stable releases are published under latest
tag on npm.
Alpha and beta releases are published under next
tag on npm.
Every commit to master that has changes within packages
directory is a subject of npm packages release.
ALL packages will be released under version from lerna.json file with commit SHA added to it:
<lerna.json version>-<COMMIT_SHA>
Automatic prereleases are published under canary
dist tag.
All of the steps below should be performed on a release branch, according to Grafana Release Guide
- Run
yarn packages:prepare <VERSION>
script from root directory. This will perform tests on the packages and bump version of the packages. Make sure you confirm the version bump when prompted! - Commit changes (lerna.json & package.json files) - "Packages version update: <VERSION>"
- Run
yarn packages:build
script that will prepare distribution packages inpackages/grafana-*/dist
. These directories are going to be published to npm - Run
packages:publish
to publish new versions - Push version commit to the release branch
To build induvidual packages run grafana-toolkit package:build --scope=<ui|toolkit|runtime|data>