feat: scheduled check for new extension versions - #2439
Draft
brainrake wants to merge 21 commits into
Draft
Conversation
PostgreSQL Extension Dependency Analysis: PR #2439
SummaryNo extensions had dependencies with MAJOR version updates. Full Analysis ResultsPostgreSQL 15 Extension DependenciesPostgreSQL 17 Extension DependenciesOrioleDB 17 Extension Dependencies |
PostgreSQL Package Dependency Analysis: PR #2439
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 |
This comment has been minimized.
This comment has been minimized.
…data Replaces the bash+regex version detector. Owner/repo now lives in each extension's own passthru.github (real, eval'able package metadata) instead of being scraped from source text or a side manifest.
Nushell's native command-output capture and structured JSON eliminate most of Python's subprocess boilerplate. Verified byte-identical output against the same set of upstream tag lookups.
Top-level mut/for/continue work fine in a nu script without wrapping in def main. Inlined github-metadata, fetch-tags, and prefetch-hash since each was called exactly once. 103 -> 94 lines.
Previously an empty (but non-null) nix eval result would silently loop zero times and exit 0, indistinguishable from everything already being up to date.
Replaces 'nix run nixpkgs#nushell -- path/to/script.nu' with a proper nix/packages/check-ext-versions.nix wrapping the script via writers.writeNuBin, with gh/nix on PATH. Workflow now runs 'nix run .#check-ext-versions'.
brainrake
marked this pull request as ready for review
September 9, 2026 18:19
brainrake
marked this pull request as draft
September 9, 2026 18:20
This comment has been minimized.
This comment has been minimized.
Replaces per-package passthru.github metadata (and the nix eval needed to read it) with a single REPOS table in the checker script itself - this is CI tooling config, not package build metadata, so it belongs with the tool, not scattered across 30 unrelated package files. Also drops ATTR_TO_CATALOG_KEY and NO_HASH_EXTS as separate constants: both are now fields on the same REPOS entries. Iterates versions.json's own keys directly and errors by name if any catalog key has no REPOS entry, so adding a new extension without registering it here crashes loudly instead of silently never being checked.
index_advisor: olirice/index_advisor was transferred to supabase/index_advisor (old owner still redirects for existing pinned fetches, but breaks the GitHub tags API used for version checking). pg-safeupdate: repo = pname resolved to eradman/safeupdate, but the real repo is eradman/pg-safeupdate. Verified both still build with their existing pinned hashes - same underlying content, just corrected metadata.
Reads owner/repo straight off each package's own fetchFromGitHub src via nix eval, for the 16 extensions whose passthru.perVersion exposes it. The other 14 (fetchurl-based, or missing perVersion entirely) stay in a small OVERRIDES table. Verified identical output to the prior all-manual REPOS table.
Contributor
|
@brainrake will this PR help with bumping pg_graphql/wrappers to latest versions. I unsuccessfully tried to bump pg_graphql to the latest version in this PR: #2407. |
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.
Weekly workflow bumps
nix/ext/versions.jsonfrom upstream GitHub tags and opens a draft PR.Example output: PR #2441 → Files changed
pg_graphql/wrappers(cargoHash) andpostgis/pgroonga(fetchurl) get a version bump but a placeholder hash - needs manual fill-in.Ref: MPG-127