Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 50 additions & 0 deletions RELEASE.md
Original file line number Diff line number Diff line change
@@ -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 <version>` 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/<ext>--*--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.