Add ext-explorer: browse pg extension versions by minor release - #2350
Open
cmartin616 wants to merge 3 commits into
Open
Add ext-explorer: browse pg extension versions by minor release#2350cmartin616 wants to merge 3 commits into
cmartin616 wants to merge 3 commits into
Conversation
…y minor release Generates pg-extension-explorer.html from nix/config.nix, nix/ext/versions.json, and an append-only history manifest (nix/ext/version-history.json), so anyone can pick a Postgres major/minor and see exactly which extensions and versions shipped for it. A generator (nix run .#ext-explorer) auto-freezes a new history row whenever it detects config.nix's version fields changed; CI fails PRs/pushes where the committed output is stale relative to that check.
Follow-up to the previous commit — the callPackage registration was never staged, so the ext-explorer flake output didn't actually exist.
The open/current period doesn't have a fixed identity yet, but the
generator was labeling it with git_short_hash("HEAD") anyway. Since HEAD
changes on every commit regardless of whether the tracked extension files
changed, the checked-in output went stale the instant you committed
anything, defeating the point of the CI check. Use a fixed "current"
label instead; only frozen historical rows need a real commit reference.
PostgreSQL Extension Dependency Analysis: PR #2350
SummaryNo extensions had dependencies with MAJOR version updates. Full Analysis ResultsPostgreSQL 15 Extension DependenciesPostgreSQL 17 Extension DependenciesOrioleDB 17 Extension Dependencies |
Collaborator
|
@cmartin616 can update the PR description and add reasoning for this change? Why are we introducing this? Also for things that need to be up2date it would be better to integrate into pre-commit check in nix/hooks.nix, this way it'll be generated locally on any changes to source or the commit will fail and ci will automatically check it no new workflow needed. |
PostgreSQL Package Dependency Analysis: PR #2350
SummaryNo packages had MAJOR version updates. Full Analysis ResultsPostgreSQL 15 Dependency ChangesExtracting PostgreSQL 15 dependencies...
Runtime Closure Size
Raw Dependency ClosurePostgreSQL 17 Dependency ChangesExtracting PostgreSQL 17 dependencies...
Runtime Closure Size
Raw Dependency Closure |
Collaborator
|
Actually besides all that I'm not really a fan of an ever growing file in git, this seems like something we can generate as a build artifact straight from git history no? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
nix run .#ext-explorer, which generatespg-extension-explorer.html— pick a Postgres major (15/17/orioledb-17) and a minor version that actually shipped, and see exactly which extensions and versions were on disk for that build.nix/ext/version-history.json, an append-only manifest seeded with the real historical minor-version boundaries mined fromnix/config.nix's git log. The generator auto-freezes a new row whenever it detectsnix/config.nix's version fields changed since the comparison base, so the timeline grows on its own as future bumps land..github/workflows/ext-explorer-check.yml) fails PRs/pushes touching the relevant source files if the committed HTML/history are stale, so this can't silently drift — regenerate locally withnix run .#ext-explorerand commit the result.Test plan
nix run .#ext-explorer -- --checkpasses on a clean treenix/config.nixversion bump and confirmed the generator correctly freezes the prior state as a new history row before regenerating for the new oneHEAD's commit hash (would otherwise go stale on every unrelated commit)pg-extension-explorer.htmlin a browser (major/minor dropdowns, search, CLI-only filter)