diff --git a/RELEASE.md b/RELEASE.md new file mode 100644 index 0000000..c94739d --- /dev/null +++ b/RELEASE.md @@ -0,0 +1,50 @@ +# RELEASE.md (trunklet-specific notes) + +See [`../ai/RELEASE.md`](https://github.com/Postgres-Extensions/ai/blob/main/RELEASE.md) +for the org's shared release process. It does **not** apply verbatim here: +this repo vendors a much older, subtree-vendored copy of `pgxntool` +(squashed in via `git subtree`, not the submodule other repos use) whose +`make tag`/`make dist` predate several assumptions that doc makes. + +## `make tag` creates a git branch, not a tag + +In this repo's vendored `pgxntool/base.mk`, `tag` is: + +``` +tag: + git branch $(PGXNVERSION) + git push --set-upstream origin $(PGXNVERSION) +``` + +This is a real, current behavior here, not just outdated wording in +`pgxntool/README.asc` (which also still describes it this way — the org +doc's "Notes / gotchas" section anticipates exactly this situation). Every +past release (`0.0.1` through `0.3.3`) is a branch on `origin`, matching the +version number exactly. **There are no git tags in this repo at all** — +`git tag -l` and `git ls-remote --tags` are both empty. `rmtag`/`forcetag` +operate on branches the same way. `make dist` still works as documented +upstream (`git archive` of that ref), since `git archive` accepts a branch +name just as well as a tag. + +Do not expect `git tag ` to find anything, and do not "fix" this +by hand-creating a real tag — that would silently diverge from every prior +release's convention in this repo. + +## No `stable` pseudo-version + +This repo's vintage of `pgxntool` predates the `stable` pseudo-version +mechanism described in `../ai/RELEASE.md`. `default_version` in +`trunklet.control` and `version` in `META.in.json` are always a real +released version number (currently `0.3.3`), never the literal string +`stable`. Skip every step in the shared doc that references `stable` +(the versioned-install-script/`sql/--*--stable.sql` workflow, and +step 8's "return master to stable"). + +## No `verify-results` target + +This vendored `pgxntool` predates `verify-results` too — it only has +`results` (regenerates expected test output) and `installcheck`, which is +marked `.IGNORE` in `base.mk`. A green `make test`/`make installcheck` here +does **not** guarantee `pg_regress` actually passed — inspect +`test/regression.diffs` directly, or diff `results/` output by hand, rather +than trusting the Make exit code.