Closed DimCitus closed 2 years ago
Hi @DimCitus - We were looking into pulling this in to our next release for the bug fixes, but noticed the new command and build dependency. Do you think this is worthy of a minor bump or separating the bug fixes & new command?
Thanks, Rachel
Hi @DimCitus - We were looking into pulling this in to our next release for the bug fixes, but noticed the new command and build dependency. Do you think this is worthy of a minor bump or separating the bug fixes & new command?
Hi @rheaton ; I feel like it's okay to have both in the same minor release. There are two reasons for backing that up: first, we have a short list of changes, so the risk area isn't big. Second, the new command is client-side only, doesn't require restarting anything, and you could just never use it too if you wanted. Also the new build dependency is on the ncurses lib, which has been around everywhere since the 90s I believe, and is the basis of so many widely available tools that I can't imagine it causing havoc.
These instructions assume you have
$VERSION
,$PROJECT
, and$REPO
environment variables set in your shell (e.g.1.4
,pgautofailover
, andpg_auto_failover
). With those set, code from most steps can be copy-pasted.Prepare Project
release-x.y
branch.git log --cherry-pick --no-merges release-x.y...master
can be helpful. Be sure to cherry-pick changes in the same order they were merged to the main branch (but do not cherry-pick merge commits themselves)CHANGELOG
entry in themaster
release-x.y
branch summarizing meaningful changes ( will merge release branch into master after releasing to update the changelog there )src/bin/lib
. VerifyREADME.md
has a reference to each library in the folder.snprintf.h , snprintf.c
andstrerror.c
in foldersrc/bin/lib/pg
against PG equivalents in recent PG sources undersrc/port
and apply changes to respective places.src/bin/lib/parson
vs the source from https://github.com/kgabis/parsonsrc/bin/lib/libs/ini.h
vs source at https://github.com/mattiasgustavsson/libs. Apply changes.src/bin/lib/log
vs its source from https://github.com/rxi/log.c . Apply changes as necessarysrc/bin/pg_autoctl/defaults.h
docs/conf.py
Makefile
src/bin/pg_autoctl/azure.c
git tag -a -s v$VERSION
to create an annotated, signed tag for the release. Summarize the release in the one-line tag annotation (beneath 52 characters). Push the tag withgit push origin v$VERSION
open https://github.com/citusdata/$REPO/releases
)v$VERSION
). Leave the description blank (it will auto-fill with the tag description)As for signing tags, use your own key, and ensure it's known to GitHub.
Update OS Packages
(sudo) make install
update_os_package.pl all pgautofailover $VERSION
citus_package -p=debian/buster -p=debian/stretch -p=ubuntu/bionic -p=ubuntu/xenial -p ubuntu/focal -p=el/8 -p=el/7 -p=ol/7 local release 2>&1 | tee citus_package.log
dpkg -c package.deb
andrpm -qlp package.rpm
grep -Ei '(warning|\bi|\be|\bw):' citus_package.log | sort | uniq -c | grep -v "\.c"
. Ignore any errors about--disable-dependency-tracking