In order to build and test your changes, simply run ./scripts/develop.
For local upgrade-validation coverage, install pg_validate_extupgrade so
ctest can run the same extension-upgrade checks as CI. Without it, CTest
registers explicit *_validate_extupgrade_unavailable placeholder tests and
those placeholders fail when your worktree touches upgrade-sensitive SQL or
CMake files:
cargo install --git https://github.com/rjuju/pg_validate_extupgrade pg_validate_extupgradeWhen pg_validate_extupgrade is available, the test suite runs it against a
temporary build-tree PostgreSQL cluster instead of the developer's default
local server.
Documentation is generated from the SQL files using scripts/documentation (requires poetry).
This command also validates that all extension GUCs are documented in h3/src/guc.c.
- Update version number
- Don't follow semver, simply use major and minor from H3 core and increment patch.
- Version number should be changed in root
CMakeLists.txt. - Set
INSTALL_VERSIONto "${PROJECT_VERSION}". - Update files (and cmake references) suffixed
--unreleasedshould be renamed. - Installer
.sqlfiles should have@ availabilitycomments updated. - Update changelog by moving from
Unreleasedto a new section - Push and merge changes in
release-x.y.zbranch.
- Create a release on GitHub
- Draft new release "vX.Y.Z"
- Copy CHANGELOG.md entry into release description
- Distribute the extension on PGXN
- Run
scripts/bundleto package the release - Upload the distribution on PGXN Manager
- Run
- Prepare for development
- Set
INSTALL_VERSIONtounreleasedin rootCMakeLists.txt. - Create new update files with
--unreleasedsuffix. - Add them to relevant
CMakeLists.txtfiles.
- Set