[DEPRECATED] Promscale is a unified metric and trace observability backend for Prometheus, Jaeger and OpenTelemetry built on PostgreSQL and TimescaleDB.
[ ] If it's a patch release, based the new branch out of the one that
contains the fixes. For example, if we added some fixes to the already
released release-0.12 branch, then it will be the base for our 0.12.1
release.
[x] Update Promscale in pkg/version/version.go update. If required, update
the values for PrevReleaseVersion, PgVersionNumRange and
ExtVersionRangeString.
[x] Update EXTENSION_VERSION if there is a change in ExtVersionRangeString
[ ] If the release includes changes to prom-migrator, update the version
variable at migration-tool/cmd/prom-migrator/main.go.
[ ] (optionally) Update prom-migrator version in .goreleaser.yml (2 places)
[x] Finalize CHANGELOG, adding release version and date
[x] Commit: git commit -a -m "Prepare for the 0.1.0-alpha.4 release"
Create PR:
[x] For major/minor releases the PR should target the master branch.
[ ] For patch releases the PR should target the release branch it was
based of.
Wait for review and merge.
Prepare git tag
[x] Pull the branch were the PR was merged, it should be master for
major/minor and release-{version} for patch releases. Triple check that
you have the right commit checked out.
[x] tag commit: git tag -a 0.1.0-alpha.1 -m "Release 0.1.0-alpha.1"
[x] push tag to main repo (not in fork!) git push origin 0.1.0-alpha.1
Create GitHub release notes
[ ] The goreleaser GitHub Action will automatically create a new draft release with the generated binaries, docker images, and a changelog attached. When it is created contact PM to validate if release notes are correct and click green publish button.
Post-release
For major/minor releases:
[x] Update Promscale and PrevReleaseVersion in pkg/version/version.go to the
next devel version.
[x] If there is a hard dependency on promscale_extension version, make sure to modify pkg/tests/upgrade_tests/upgrade_test.go#getDBImages as done in this commit to return timescale image which has the required promscale_extension. Missing to do so will cause TestUpgradeFromPrev failure.
[x] Commit: git commit -a -m "Prepare for the next development cycle"
[x] Create PR & Merge when ready
[ ] Update Promscale docs to point to the latest release as done in this PR
For patch releases:
[ ] Update Promscale docs to point to the latest release as done in this
PR.
[ ] Create a branch based on master.
[ ] Cherry-pick the commits related to the patch.
[ ] Merge back into master.
Take a breath. You're done releasing.
Release notes guide
Here are a couple of good examples of release notes which can be used for comparison:
The following sections describe the different aspects of the release which should be highlighted.
Headline Features
Describe the major features of this release. Point to announcements or blog posts for reference.
Thanks
It's nice to shout out to community members who've contributed some changes. Use the following to find all authors (and then figure out who are internal and external on your own):
Highlight functionality which has been deprecated in this release, and give and indication of when users can expect that the deprecated functionality will be removed.
Backwards-incompatible changes
Highlight functionality which has been removed in this release, and point out the alternatives (if present).
Upgrade notes
Provide any notes on special steps that users must take during the upgrade, e.g. configuration changes which must (or can) be made.
Changelog
This will be automatically populated by goreleaser. Remove all bors merge commits and dependabot version bump commits.
Release checklist
Step-by-step release process
Prepare release PR
release-{version}
:release-0.12
branch, then it will be the base for our0.12.1
release.pkg/version/version.go
update. If required, update the values for PrevReleaseVersion, PgVersionNumRange and ExtVersionRangeString.EXTENSION_VERSION
if there is a change in ExtVersionRangeStringversion
variable atmigration-tool/cmd/prom-migrator/main.go
.prom-migrator
version in.goreleaser.yml
(2 places)git commit -a -m "Prepare for the 0.1.0-alpha.4 release"
Prepare git tag
master
for major/minor andrelease-{version}
for patch releases. Triple check that you have the right commit checked out.git tag -a 0.1.0-alpha.1 -m "Release 0.1.0-alpha.1"
git push origin 0.1.0-alpha.1
Create GitHub release notes
[ ] The
goreleaser
GitHub Action will automatically create a new draft release with the generated binaries, docker images, and a changelog attached. When it is created contact PM to validate if release notes are correct and click green publish button.Post-release
For major/minor releases:
pkg/version/version.go
to the next devel version.TestUpgradeFromPrev
failure.git commit -a -m "Prepare for the next development cycle"
For patch releases:
Take a breath. You're done releasing.
Release notes guide
Here are a couple of good examples of release notes which can be used for comparison:
The following sections describe the different aspects of the release which should be highlighted.
Headline Features
Describe the major features of this release. Point to announcements or blog posts for reference.
Thanks
It's nice to shout out to community members who've contributed some changes. Use the following to find all authors (and then figure out who are internal and external on your own):
Deprecations
Highlight functionality which has been deprecated in this release, and give and indication of when users can expect that the deprecated functionality will be removed.
Backwards-incompatible changes
Highlight functionality which has been removed in this release, and point out the alternatives (if present).
Upgrade notes
Provide any notes on special steps that users must take during the upgrade, e.g. configuration changes which must (or can) be made.
Changelog
This will be automatically populated by
goreleaser
. Remove all bors merge commits and dependabot version bump commits.