Skip to content

Conversation

@jfroche
Copy link
Collaborator

@jfroche jfroche commented Jan 12, 2026

Speed up rust builds by enabling sccache caching for cargo-pgrx builds in GitHub Actions. We mount a persistent disk at /var/cache/sccache and configure sccache to use it.

@coderabbitai
Copy link

coderabbitai bot commented Jan 12, 2026

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Speed up rust builds by enabling sccache caching for cargo-pgrx builds in
GitHub Actions. We mount a persistent disk at /var/cache/sccache and
configure sccache to use it.
@jfroche jfroche force-pushed the sccache branch 10 times, most recently from e64624d to 33c6f0a Compare January 13, 2026 14:54
…he keys

- Add sccache to buildPgrxExtension.nix nativeBuildInputs
- Enable sccache conditionally when /nix/var/cache/sccache is available
- Configure Nix with auto-allocate-uids and max-jobs=1 for consistent UID mapping
- Add cache_key field to github-matrix output for stickydisk grouping
- Fix postgresql_version extraction for packages with extra path levels
- Use per-postgres-version cache keys to reduce stickydisk conflicts
- Chown cache to UID 872415232 (auto-allocate-uids base) before builds
Add max-jobs input parameter with empty default. When set, includes
max-jobs in nix config. auto-allocate-uids and use-cgroups are now
only enabled when enable-sccache-sandbox-path is true.
Only mount stickydisk, enable sccache sandbox path, and set max-jobs=1
for packages with postgresql_version (extension packages). Non-extension
packages build without sccache and with default max-jobs.
…y in CI

To be able to build extensions versions packages separately in CI, we
expose them in a nested structure.

We did this change in the past for wrappers packages. Now we do the same
for pg_graphql and pg_jsonschema extension packages.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants