Sergei Zimmerman
f1d4fab1e5
Merge pull request #14405 from obsidiansystems/json-schema-store-path
...
Create JSON Schema for Store Paths
2025-10-28 23:24:05 +00:00
Sergei Zimmerman
c874e7071b
libstore/http-binary-cache-store: Improve error messages in HttpBinaryCacheStore::upsertFile
...
Now the error message doesn't cram everything into a single line and we now instead get:
error:
… while uploading to HTTP binary cache at 's3://my-cache?endpoint=http://localhost:9000?compression%3Dzstd®ion=eu-west-1 '
error: unable to download 'http://localhost:9000/my-cache/nar/1125zqba8cx8wbfa632vy458a3j3xja0qpcqafsfdildyl9dqa7x.nar.xz ': Operation was aborted by an application callback (42)
2025-10-29 02:05:14 +03:00
John Ericson
c67966418f
Create JSON Schema for Store Paths
...
We immediately use this in the JSON schemas for Derivation and Deriving
Path, but we cannot yet use it in Store Object Info because those paths
*do* include the store dir currently.
2025-10-28 17:22:51 -04:00
John Ericson
be2572ed8d
Make inputDrvs JSON schema more precise
...
It now captures the stable non-recursive format (just an output set) and
the unstable recursive form for dynamic derivations.
2025-10-28 17:22:30 -04:00
Sergei Zimmerman
be99a1c6bb
Merge pull request #14404 from Mic92/test-settings
...
coderabbit: disable high_level_summary/poem/github status
2025-10-28 21:10:56 +00:00
Jörg Thalheim
fe8cdbc3e4
coderabbit: disable high_level_summary/poem/github status/sequence_diagrams
2025-10-28 22:09:05 +01:00
Sergei Zimmerman
70176ed317
Merge pull request #14402 from Mic92/test-settings
...
coderabbit: don't show review status
2025-10-28 20:46:31 +00:00
Jörg Thalheim
84a5bee424
coderabbit: disable reporting review status
2025-10-28 21:45:30 +01:00
John Ericson
e3246301a6
Enable JSON schema testing for derivation outputs
...
I figured out what the problem was: the fragment needs to start with a
`/`.
2025-10-28 16:07:44 -04:00
Sergei Zimmerman
d4c69c7b8f
Merge pull request #14398 from roberth/quiet-coderabbit
2025-10-28 18:41:43 +00:00
Robert Hensing
f5aafbd6ed
.coderabbit.yaml: Disable auto-review
2025-10-28 19:39:04 +01:00
Farid Zakaria
943788754f
Add ghcr for pre-release
2025-10-28 11:16:37 -07:00
Farid Zakaria
883860c7ff
Move docker documentation to docker.io
2025-10-28 11:14:31 -07:00
Robert Hensing
5fc0c4f102
doc: Improve libexpr-c docs
...
- Uses the more explicit `@ingroup` most of the time, to avoid problems
with nested groups, and to make group membership more explicit.
The division into headers is not great for documentation purposes,
so this helps.
- More attention for memory management details
- Various other improvements to doc comments
2025-10-28 17:57:15 +01:00
Eelco Dolstra
1a4ad0706b
Merge pull request #14394 from me-and/no-print-dead-space-usage
...
docs: remove incorrect claim re gc --print-dead
2025-10-28 15:10:54 +00:00
Adam Dinwoodie
972915cabd
docs: remove incorrect claim re gc --print-dead
...
Per #7591 , the `nix-store --gc --print-dead` command does not provide
any feedback about the amount of disk space that is used by dead store
paths. It looks like this has been the case since 7ab68961e (* Garbage
collector: added an option `--use-atime' to delete paths in...,
2008-09-17).
Update the nix-store documentation to remove the claim that this is
function that `nix-store --gc --print-dead` performs.
2025-10-28 09:47:25 +00:00
Bernardo Meurer Costa
94965a3a3e
test(nixos): add S3 multipart upload integration tests
2025-10-28 06:17:41 +00:00
Bernardo Meurer Costa
c77317b1a9
feat(libstore/s3-binary-cache-store): implement completeMultipartUpload()
...
`completeMultipartUpload()`: Build XML with part numbers and `ETags`,
POST to key with `?uploadId` to finalize the multipart upload
2025-10-28 01:13:28 +00:00
Jörg Thalheim
dd0d006517
Merge pull request #14375 from lovesegfault/nix-s3-upload-part
...
feat(libstore/s3-binary-cache-store): implement `uploadPart()`
2025-10-27 22:40:00 +00:00
dependabot[bot]
ccc06451df
build(deps): bump actions/download-artifact from 5 to 6
...
Bumps [actions/download-artifact](https://github.com/actions/download-artifact ) from 5 to 6.
- [Release notes](https://github.com/actions/download-artifact/releases )
- [Commits](https://github.com/actions/download-artifact/compare/v5...v6 )
---
updated-dependencies:
- dependency-name: actions/download-artifact
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-10-27 22:35:42 +00:00
dependabot[bot]
3775a2a226
build(deps): bump actions/upload-artifact from 4 to 5
...
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact ) from 4 to 5.
- [Release notes](https://github.com/actions/upload-artifact/releases )
- [Commits](https://github.com/actions/upload-artifact/compare/v4...v5 )
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-10-27 22:22:54 +00:00
John Ericson
1d3f0ca22e
Merge pull request #14383 from obsidiansystems/misc-cleanups
...
Two misc cleanups
2025-10-27 22:16:37 +00:00
John Ericson
1c41e07b46
Merge pull request #14385 from lovesegfault/ci-concurrency-group
...
ci: cancel previous workflow runs on PR updates
2025-10-27 17:35:50 -04:00
Bernardo Meurer Costa
c592090fff
feat(libstore/s3-binary-cache-store): implement uploadPart()
...
Implement `uploadPart()` for uploading individual parts in S3 multipart
uploads:
- Constructs URL with `?partNumber=N&uploadId=ID` query parameters
- Uploads chunk data with `application/octet-stream` mime type
- Extracts and returns `ETag` from response
2025-10-27 21:09:39 +00:00
Bernardo Meurer Costa
4b6d07d642
feat(libstore/s3-binary-cache-store): implement createMultipartUpload()
...
POST to key with `?uploads` query parameter, optionally set
`Content-Encoding` header, parse `uploadId` from XML response using
regex
2025-10-27 21:07:29 +00:00
John Ericson
e177f42536
Merge pull request #14379 from Radvendii/exprlist-alloc
...
libexpr: store ExprList data in Exprs::alloc
2025-10-27 21:04:45 +00:00
John Ericson
ac8b1efcf9
Merge pull request #14379 from Radvendii/exprlist-alloc
...
libexpr: store ExprList data in Exprs::alloc
2025-10-27 21:04:45 +00:00
Bernardo Meurer Costa
ad664ce64e
ci: cancel previous workflow runs on PR updates
...
Add concurrency group configuration to the CI workflow to automatically
cancel outdated runs when a PR receives new commits or is force-pushed.
This prevents wasting CI resources on superseded code.
2025-10-27 20:56:56 +00:00
John Ericson
18941a2421
Optimize DummyStore::isValidPathUncached
...
See the API docs for the rationale of why this is needed.
2025-10-27 16:49:18 -04:00
John Ericson
136825b4a2
Make Dummy store store derivations separately
...
This makes for more efficiency. Once we have JSON for the dummy store,
it will also make for better JSON, too.
2025-10-27 16:49:18 -04:00
John Ericson
28b73cabcc
Make reading and writing derivations store methods
...
This allows for different representations.
2025-10-27 16:49:18 -04:00
John Ericson
aa4106fd68
Merge pull request #14360 from lovesegfault/scan-for-references-detailed
...
feat(libstore): add scanForReferencesDeep and use it for why-depends
2025-10-27 20:38:10 +00:00
John Ericson
7f1d92793e
Merge pull request #14360 from lovesegfault/scan-for-references-detailed
...
feat(libstore): add scanForReferencesDeep and use it for why-depends
2025-10-27 20:38:10 +00:00
John Ericson
234f029940
Add consuming ref <-> std::share_ptr methods/ctrs
...
This can help churning ref counts when we don't need to.
2025-10-27 16:23:43 -04:00
John Ericson
dd716dc9be
Create default Store::narFromPath implementation in terms of getFSAccessor
...
This is a good default (the methods that allow for an arbitrary choice
of source accessor are generally preferable both to implement and to
use). And it also pays its way by allowing us to delete *both* the
`DummyStore` and `LocalStore` implementations.
2025-10-27 15:57:26 -04:00
John Ericson
ea17cc1b57
Merge pull request #14376 from lovesegfault/nix-s3-abort-multipart
...
feat(libstore/s3-binary-cache-store): implement `abortMultipartUpload()`
2025-10-27 19:52:36 +00:00
John Ericson
0c1be3aabe
Merge pull request #14309 from obsidiansystems/json-schema-content-address
...
` nlohmann::json` instance and JSON Schema for `ContentAddress`
2025-10-27 19:52:19 +00:00
John Ericson
6ca3434cac
Merge pull request #14309 from obsidiansystems/json-schema-content-address
...
` nlohmann::json` instance and JSON Schema for `ContentAddress`
2025-10-27 19:52:19 +00:00
Bernardo Meurer Costa
6129aee988
refactor(nix/why-depends): use scanForReferencesDeep for --precise mode
...
Replaces manual tree-walking and reference scanning with the new
scanForReferencesDeep function.
2025-10-27 19:14:49 +00:00
Bernardo Meurer Costa
5e220271e2
feat(libstore): add scanForReferencesDeep for per-file reference tracking
...
Introduces `scanForReferencesDeep` to provide per-file granularity when
scanning for store path references, enabling better diagnostics for
cycle detection and `nix why-depends --precise`.
2025-10-27 19:14:49 +00:00
John Ericson
8e6b69de54
Merge pull request #14378 from Radvendii/parser-improvements
...
parser.y: remove some unnecessary copies
2025-10-27 19:11:11 +00:00
Bernardo Meurer Costa
3915b3a111
feat(libstore/s3-binary-cache-store): implement abortMultipartUpload()
...
Implement `abortMultipartUpload()` for cleaning up incomplete multipart
uploads on error:
- Constructs URL with `?uploadId=ID` query parameter
- Issues `DELETE` request to abort the multipart upload
2025-10-27 18:56:52 +00:00
Jörg Thalheim
c5515bb22e
Merge pull request #14364 from MarcelCoding/human-sizes
...
diff-closures: print sizes with dynamic unit
2025-10-27 18:49:23 +00:00
John Ericson
91b69e9e70
nlohmann::json instance and JSON Schema for ContentAddress
...
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2025-10-27 14:47:50 -04:00
Taeer Bar-Yam
9e9dfe36df
libexpr: store ExprList data in Exprs::alloc
2025-10-27 19:38:03 +01:00
Taeer Bar-Yam
50e8d17f3c
parser.y: use emplace_back() for vector<AttrName>
2025-10-27 19:30:32 +01:00
Taeer Bar-Yam
ef8dd58d9b
parser.y: use std::move() to avoid unnecessary copies
...
With #14314 , in some places in the parser we started using C++ objects
directly rather than pointers. In those places lines like `$$ = $1` now
imply a copy when we don't need one. This commit changes those to `$$ =
std::move($1)` to avoid those copies.
2025-10-27 19:30:32 +01:00
John Ericson
91ed3701fe
Merge pull request #14377 from lovesegfault/makerequest-stringview
...
refactor(libstore): use string_view in HttpBinaryCacheStore::makeRequest
2025-10-27 17:58:53 +00:00
Jörg Thalheim
b8e5d1f290
Merge pull request #14369 from NixOS/copy-sigs-docs
...
nix store copy-sigs: Add docs
2025-10-27 17:55:56 +00:00
Jörg Thalheim
d44b33562f
Merge pull request #14373 from NixOS/copy-sigs-parallel
...
nix store copy-sigs: Use http-connections setting to control parallelism
2025-10-27 17:53:23 +00:00