From 6ca7aec6d7e9ddca05fcecba3ac9132a446e2511 Mon Sep 17 00:00:00 2001 From: "David E. Wheeler" Date: Sun, 5 Dec 2021 13:09:16 -0500 Subject: [PATCH] Timestamp v1.2.0 And update release instructions. --- Changes | 2 +- META.json | 8 ++++---- Makefile | 2 +- README.md | 2 +- contrib/pgtap.spec | 7 +++++-- doc/pgtap.mmd | 9 +++++++-- release.md | 34 ++++++++++++++++++++-------------- 7 files changed, 39 insertions(+), 25 deletions(-) diff --git a/Changes b/Changes index f0438b06f..c8ecd5ab0 100644 --- a/Changes +++ b/Changes @@ -1,7 +1,7 @@ Revision history for pgTAP ========================== -1.2.0 +1.2.0 2021-12-05T18:08:13Z -------------------------- * Made the description field optional in `has_view()` and `hasnt_view()` when specifying schema (#230). Thanks to Godwottery for the patch! diff --git a/META.json b/META.json index 892656a7f..18fffdaf5 100644 --- a/META.json +++ b/META.json @@ -2,7 +2,7 @@ "name": "pgTAP", "abstract": "Unit testing for PostgreSQL", "description": "pgTAP is a suite of database functions that make it easy to write TAP-emitting unit tests in psql scripts or xUnit-style test functions.", - "version": "1.1.0", + "version": "1.2.0", "maintainer": [ "David E. Wheeler ", "pgTAP List " @@ -25,17 +25,17 @@ "pgtap": { "abstract": "Unit testing for PostgreSQL", "file": "sql/pgtap.sql", - "version": "1.1.0" + "version": "1.2.0" }, "pgtap-core": { "abstract": "Unit testing for PostgreSQL", "file": "sql/pgtap-core.sql", - "version": "1.1.0" + "version": "1.2.0" }, "pgtap-schema": { "abstract": "Schema unit testing for PostgreSQL", "file": "sql/pgtap-schema.sql", - "version": "1.1.0" + "version": "1.2.0" } }, "resources": { diff --git a/Makefile b/Makefile index fb5cf8451..766581c8c 100644 --- a/Makefile +++ b/Makefile @@ -271,7 +271,7 @@ sql/uninstall_pgtap.sql: sql/pgtap.sql test/setup.sql # TODO: the sed command needs the equivalent of bash's PIPEFAIL; should just replace this with some perl magic sql/pgtap-static.sql: sql/pgtap.sql.in cp $< $@.tmp - for p in `ls compat/install-*.patch | sort -rn`; do \ + @for p in `ls compat/install-*.patch | sort -rn`; do \ echo; echo '***' "Patching pgtap-static.sql with $$p"; \ sed -e 's#sql/pgtap.sql#sql/pgtap-static.sql.tmp#g' "$$p" | patch -p0; \ done diff --git a/README.md b/README.md index e8b1eb1da..55a23d7a1 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -pgTAP 1.1.0 +pgTAP 1.2.0 ============ [pgTAP](https://pgtap.org) is a unit testing framework for PostgreSQL written diff --git a/contrib/pgtap.spec b/contrib/pgtap.spec index 91882f674..b088bcba5 100644 --- a/contrib/pgtap.spec +++ b/contrib/pgtap.spec @@ -1,7 +1,7 @@ Summary: Unit testing suite for PostgreSQL Name: pgtap -Version: 1.1.0 -Release: 2%{?dist} +Version: 1.2.0 +Release: 1%{?dist} Group: Applications/Databases License: PostgreSQL URL: https://pgtap.org/ @@ -41,6 +41,9 @@ make install USE_PGXS=1 DESTDIR=%{buildroot} %{_docdir}/pgsql/contrib/README.pgtap %changelog +* Sun Dec 5 2021 David E. Wheeler 1.2.0-1 +- Update to 1.2.0 + * Sat Oct 24 2020 Jim Nasby 1.1.0-2 - Remove last vestiges of pre-PostgreSQL 9.1 - Use https for URLs diff --git a/doc/pgtap.mmd b/doc/pgtap.mmd index e8d3d45b7..979c8592f 100644 --- a/doc/pgtap.mmd +++ b/doc/pgtap.mmd @@ -1,4 +1,4 @@ -pgTAP 1.1.0 +pgTAP 1.2.0 ============ pgTAP is a unit testing framework for PostgreSQL written in PL/pgSQL and @@ -8683,11 +8683,16 @@ PostgreSQL. This helps you to understand any side-effects. To see the specifics for each version of PostgreSQL, consult the files in the `compat/` directory in the pgTAP distribution. -10 and Up +11 and Up --------- No changes. Everything should just work. +10 and Down +----------- +* The stored procedure-testing funtions are not available, because stored + procedures were not introduced until 11. + 9.6 and Down ------------ * The partition-testing functions are not available, because partitions were diff --git a/release.md b/release.md index 7f36d25d4..4a7010472 100644 --- a/release.md +++ b/release.md @@ -9,10 +9,11 @@ Here are the steps to take to make a release of pgTAP: * Review and merge any appropriate [pull requests](https://github.com/theory/pgtap/pulls). -* Test on all supported PostgreSQL versions, starting with the latest version - (12) and moving backward in order (9.6, 9.5, 9.4, etc.). - [pgenv](https://github.com/theory/pgenv/) is a handy tool for installing and - switching between versions. For each version, ensure that: +* Make sure that [all tests](https://github.com/theory/pgtap/actions) pass on + all supported versions of Postgres. If you want to run the tests manually, + you can use the [pgxn-utils Docker image](https://github.com/pgxn/docker-pgxn-tools) + or [pgenv](https://github.com/theory/pgenv/) to install and + switch between versions. For each version, ensure that: + Patches apply cleanly (try to eliminate Hunk warnings for patches to `pgtap.sql` itself, usually by fixing line numbers) @@ -69,7 +70,7 @@ Here are the steps to take to make a release of pgTAP: `DOC SANS pgTAP x.xx` section, and then remove the first `
  • ` element that says "pgTAP x.xx". - + Sanity-check that everything looks right; use `git diff` to make sure + + Review to ensure that everything looks right; use `git diff` to make sure nothing important was lost. It should mainly be additions. + Commit the changes, but don't push them yet. @@ -85,21 +86,26 @@ Here are the steps to take to make a release of pgTAP: Paste that into the line with the new version, maybe increment by a minute to account for the time you'll need to actually do the release. -* Commit the timestamp and tag it: +* Commit the timestamp and push it: - git ci -m 'Timestamp v0.98.0.' - git tag -sm 'Tag v0.98.0.' v0.98.0 + git ci -m 'Timestamp v0.98.0.' + git push + +* Once again make sure [all tests](https://github.com/theory/pgtap/actions) + pass. Fix any that fail. -* Package the source and submit to [PGXN](https://manager.pgxn.org/). +* Once all tests pass, tag the release with its semantic version (including + the leading `v`) and push the tag. - gem install pgxn_utils - git archive --format zip --prefix=pgtap-1.0.0/ \ - --output pgtap-1.0.0.zip master + git tag -sm 'Tag v0.98.0.' v0.98.0 + git push --tags -* Push all the changes to GitHub. +* Monitor the [release workflow](https://github.com/theory/pgtap/actions/workflows/release.yml) + to make sure the new version is released on both PGXN and GitHub. + +* Push the `gh-pages` branch: git push - git push --tags git push origin up/gh-pages:gh-pages * Increment the minor version to kick off development for the next release.