-
Notifications
You must be signed in to change notification settings - Fork 12
The release procedure
For now, the release procedure is manual. Refer to #8 for updates. Release pipeline is as follows.
- Merge all PRs you plan to include in the release.
- Download release artifacts. Release artifacts are essentially test etalon JSONs, which should be updated on each code-related commit (CI checks it):
- Tarantool 3 Prometheus: https://github.com/tarantool/grafana-dashboard/blob/master/tests/Prometheus/dashboard_tarantool3_compiled.json
- Tarantool 3 InfluxDB: https://github.com/tarantool/grafana-dashboard/blob/master/tests/InfluxDB/dashboard_tarantool3_compiled.json
- Tarantool Cartridge Prometheus: https://github.com/tarantool/grafana-dashboard/blob/master/tests/Prometheus/dashboard_cartridge_compiled.json
- Tarantool Cartridge InfluxDB: https://github.com/tarantool/grafana-dashboard/blob/master/tests/InfluxDB/dashboard_cartridge_compiled.json
- Tarantool Data Grid 2 Prometheus: https://github.com/tarantool/grafana-dashboard/blob/master/tests/Prometheus/dashboard_tdg_compiled.json
- Tarantool Data Grid 2 InfluxDB: https://github.com/tarantool/grafana-dashboard/blob/master/tests/InfluxDB/dashboard_tdg_compiled.json
- Login to Tarantool Grafana account on grafana.com. Credentials can be obtained on secrets.vk.team (collection:
Tarantool/etc
, key:Grafana dashboard
). - Upload new dashboard revisions. Use the "Upload revision" button at the bottom of each page. (If there weren't any changes in the dashboard, you may skip uploading a new revision. But it is also ok to upload a new revision with the same contents to keep revision numbers pretty. I'm sticking to the "same dashboards (e.g. Tarantool Data Grid 2) for different datasources (Prometheus/InfluxDB) have the same revision" rule.)
- Tarantool 3 Prometheus: https://grafana.com/grafana/dashboards/21474
- Tarantool 3 InfluxDB: https://grafana.com/grafana/dashboards/21484
- Tarantool Cartridge Prometheus: https://grafana.com/grafana/dashboards/13054
- Tarantool Cartridge InfluxDB: https://grafana.com/grafana/dashboards/12567
- Tarantool Data Grid 2 Prometheus: https://grafana.com/grafana/dashboards/16406
- Tarantool Data Grid 2 InfluxDB: https://grafana.com/grafana/dashboards/16405
- If required, update dashboard description and screenshots. Use My account->ORG SETTINGS->My dashboards->Settings.
- Create a release PR (example) and merge it. Don't forget to update revision links in the commit body and CHANGELOG.
- Create a corresponding tag on the master branch and push it (example).
- Create a release page for the tag (example). For release names, I prefer
X.Y.Z: Main update
. - Share the news with users.
The most relevant (and the only meaningful) step here is uploading new revisions to the Grafana. After revisions are uploaded, each time a user will import a dashboard by its link/id, they will receive a new one. master push, tag push and release page are more about keeping the changes visible and communicating with users. There isn't even a single trace of X.Y.Z semantic versioning on Grafana website or in dashboard artifacts.
To check the release, you may start some example app (see README) and import the dashboard (also see README). TDG2 dashboards don't have a proper stand in this repo, but you still can import the dashboard to check that its contents are new (most panels will display No data
).