pg_auto_failover icon indicating copy to clipboard operation
pg_auto_failover copied to clipboard

Release 1.6.4

Open DimCitus opened this issue 2 years ago • 4 comments

These instructions assume you have $VERSION, $PROJECT, and $REPO environment variables set in your shell (e.g. 1.4, pgautofailover, and pg_auto_failover). With those set, code from most steps can be copy-pasted.

Prepare Project

  • [x] Ensure all needed changes are in the relevant 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)
  • [x] Add a CHANGELOG entry in the ~~master~~ release-x.y branch summarizing meaningful changes ( will merge release branch into master after releasing to update the changelog there )
  • [x] Update vendored in libraries under src/bin/lib. Verify README.md has a reference to each library in the folder.
    • [x] PG : Compare the contents of snprintf.h , snprintf.c and strerror.c in folder src/bin/lib/pg against PG equivalents in recent PG sources under src/port and apply changes to respective places.
    • [x] Parson : Compare the contents of src/bin/lib/parson vs the source from https://github.com/kgabis/parson
    • [x] ini.h: Compare src/bin/lib/libs/ini.h vs source at https://github.com/mattiasgustavsson/libs. Apply changes.
    • [x] log.c: Compare contents of src/bin/lib/log vs its source from https://github.com/rxi/log.c . Apply changes as necessary
  • [x] Update version number in
    • [x] src/bin/pg_autoctl/defaults.h
    • [x] docs/conf.py
    • [x] Makefile
    • [x] src/bin/pg_autoctl/azure.c
  • [x] Get complete approval for the commit you're tagging before creating or pushing any tags. Tags should be immutable, so do not proceed to the next step until you're sure you have everything you want in your release branch
  • [x] Use 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 with git push origin v$VERSION
  • [ ] Visit the project's releases page (e.g. open https://github.com/citusdata/$REPO/releases)
    • [ ] Create a new release object for your git tag (i.e. 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

  • [ ] Make sure you have the latest tooling installed from the https://github.com/citusdata/tools repo, using (sudo) make install
  • [ ] Go to your locally checked out version of the https://github.com/citusdata/packaging repo.
  • [ ] Create a packaging PR using update_os_package.pl all pgautofailover $VERSION
  • [ ] Test the release build locally: 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
  • [ ] Confirm for some of the packages that the contents look decent using dpkg -c package.deb and rpm -qlp package.rpm
  • [ ] Ensure no warnings or errors are present: grep -Ei '(warning|\bi|\be|\bw):' citus_package.log | sort | uniq -c | grep -v "\.c". Ignore any errors about --disable-dependency-tracking
  • [ ] Get changes reviewed;
  • [ ] Confirm that CI is happy
  • [ ] Use the "squash" strategy to close the PR
  • [ ] Ensure both Travis builds completed successfully (new releases should be in packagecloud, you should expect 52 items when searching for new version)

DimCitus avatar Jan 27 '22 11:01 DimCitus

Hello

1.6.4 is still not available packaged (for ubuntu/focal at least) 1.6.3 is the last version I see with those repos configured : deb https://packagecloud.io/citusdata/community/ubuntu/ focal main deb https://repos.citusdata.com/community/ubuntu/ focal main

SLoeuillet avatar Jun 24 '22 11:06 SLoeuillet

Oh, in task list, you should remove xenial and add jammy (changed in citusdata/packaging already)

SLoeuillet avatar Jun 24 '22 11:06 SLoeuillet

Hi @SLoeuillet. Please refresh https://pg-auto-failover.readthedocs.io/en/master/install.html#ubuntu-or-debian and use the Postgres community packaging available at apt.postgresql.org. Thanks!

DimCitus avatar Jun 24 '22 11:06 DimCitus

Thanks to you, I just did read that there too https://github.com/citusdata/pg_auto_failover/commit/d20e7da2a06c95a33aaded69bb87e2c7204a2089

SLoeuillet avatar Jun 24 '22 12:06 SLoeuillet