Never use config.ConfigDir() in tests. Tests must not touch the real h2 config
directory. Use setupFakeHome(t) or a similar pattern that sets H2_DIR to a temp
directory and calls config.ResetResolveCache(). This prevents test side effects on
the real ~/.h2 directory and ensures test isolation.
Before every feature commit, run make check and ensure it passes.
When doing a production release, follow this sequence:
- Ensure you are on the
mainbranch first. - Fetch and fast-forward
maintoorigin/main(git fetch origin main && git pull --ff-only origin main). - Determine the version bump and update the h2 version:
- If unsure what bump to use, ask the user.
- Use semver rules:
patchfor non-breaking changes.- for pre-1.0 versions:
minorfor breaking changes. - for 1.0+ versions:
majorfor breaking changes.
- Update
docs/CHANGELOG.mdwith changes since the last version tag and its tagged commit. - Run all test suites and ensure they pass.
- Run
make checkand ensure it passes. - Run
make build-releaseand ensure it passes. - Tag the current
HEADwith the release version.