aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-08-31revert some random changeValentin Gagarin
2023-08-31make description open-ended, add TODOValentin Gagarin
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2023-08-31don't invent terms yetValentin Gagarin
2023-08-31more meaningful taglineValentin Gagarin
2023-08-31accommodate "do nothing" branchValentin Gagarin
2023-08-31be more precise about substituting store derivationsValentin Gagarin
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2023-08-31mention remote buildersValentin Gagarin
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2023-08-31add anchor to `builder`Valentin Gagarin
2023-08-31add reference linkValentin Gagarin
2023-08-31remove abstract descriptionValentin Gagarin
2023-08-31reword introductory sentenceValentin Gagarin
2023-08-31remove superfluous wordValentin Gagarin
2023-08-31reword description of how realisation worksValentin Gagarin
2023-08-28Document nix-prefetch-url defaults (#8878)Silvan Mosberger
2023-08-28Port the flags of nix-daemon to nix daemon (#8788)Bryan Honof
The new `nix daemon` command didn't accept the same flags that `nix-daemon` did. * docs(daemon): clarify the daemon trust override flags * fix: change declaration order * docs: add examples of nix daemon usage * Apply suggestions from code review --------- Co-authored-by: Eelco Dolstra <edolstra@gmail.com> Co-authored-by: John Ericson <git@JohnEricson.me> Co-authored-by: tomberek <tomberek@users.noreply.github.com>
2023-08-25Merge pull request #8829 from obsidiansystems/build-dynamic-derivationsJohn Ericson
Adapt scheduler to work with dynamic derivations
2023-08-25Merge pull request #8819 from VertexA115/fix/deep-follow-pathstomberek
Fix follow path checking at depths greater than 2
2023-08-25Merge pull request #8661 from hercules-ci/test-reformat-error-messageJohn Ericson
tests: Reformat exit code error message
2023-08-25Merge pull request #8814 from hercules-ci/exception-self-checkJohn Ericson
initLibUtil: Add exception handling self-check
2023-08-25Adapt scheduler to work with dynamic derivationsJohn Ericson
To avoid dealing with an optional `drvPath` (because we might not know it yet) everywhere, make an `CreateDerivationAndRealiseGoal`. This goal just builds/substitutes the derivation file, and then kicks of a build for that obtained derivation; in other words it does the chaining of goals when the drv file is missing (as can already be the case) or computed (new case). This also means the `getDerivation` state can be removed from `DerivationGoal`, which makes the `BasicDerivation` / in memory case and `Derivation` / drv file file case closer together. The map type is factored out for clarity, and because we will soon hvae a second use for it (`Derivation` itself). Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2023-08-25Use `Worker::makeDerivationGoal` lessJohn Ericson
We're about to split up `DerivationGoal` a bit. At that point `makeDerivationGoal` will mean something more specific than it does today. (Perhaps a future rename will make this clearer.) On the other hand, the more public `Worker::makeGoal` function will continue to work exactly as before. So by moving some call sites to use that instead, we preemptively avoid issues in the next step.
2023-08-25Throw `MissingRealisation` not plain `Error` in both `resolveDerivedPath`John Ericson
Now we are consistent with the other `resolveDerivedPath`, and other such functions.
2023-08-25Introduce `OutputName` and `OutputNameView` type aliasesJohn Ericson
Hopefully they make the code easier to understand!
2023-08-24Merge pull request #8864 from p01arst0rm/update-system-definitionsRobert Hensing
update system definitions
2023-08-24Merge pull request #8866 from fricklerhandwerk/glossary-listEelco Dolstra
glossary: dedent list and do not use forced line breaks
2023-08-24glossary: dedent list and do not use forced line breaksValentin Gagarin
this makes it slightly easier to work with and consistent with all the other markdown lists in use
2023-08-23update system definitionsp01arst0rm
2023-08-23Add introductory sentence to advanced topics (#8861)Uri Zafrir
2023-08-22Merge pull request #8857 from ↵Eelco Dolstra
NixOS/dependabot/github_actions/zeebe-io/backport-action-1.4.0 Bump zeebe-io/backport-action from 1.3.1 to 1.4.0
2023-08-21Bump zeebe-io/backport-action from 1.3.1 to 1.4.0dependabot[bot]
Bumps [zeebe-io/backport-action](https://github.com/zeebe-io/backport-action) from 1.3.1 to 1.4.0. - [Release notes](https://github.com/zeebe-io/backport-action/releases) - [Commits](https://github.com/zeebe-io/backport-action/compare/v1.3.1...v1.4.0) --- updated-dependencies: - dependency-name: zeebe-io/backport-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
2023-08-21Merge pull request #8836 from obsidiansystems/rm-addToSearchPathEelco Dolstra
Delete `EvalState::addToSearchPath`
2023-08-19Merge pull request #8812 from tweag/fix-clang-tidyRobert Hensing
Fix some warnings/bugs found by clang-tidy
2023-08-18Delete `EvalState::addToSearchPath`John Ericson
This function is now trivial enough that it doesn't need to exist. `EvalState` can still be initialized with a custom search path, but we don't have a need to mutate the search path after it has been constructed, and I don't see why we would need to in the future. Fixes #8229
2023-08-18Merge pull request #8839 from obsidiansystems/string-context-7479John Ericson
Refactor Raw pattern, part of #7479
2023-08-18Fixing #7479John Ericson
Types converted: - `NixStringContextElem` - `OutputsSpec` - `ExtendedOutputsSpec` - `DerivationOutput` - `DerivationType` Existing ones mostly conforming the pattern cleaned up: - `ContentAddressMethod` - `ContentAddressWithReferences` The `DerivationGoal::derivationType` field had a bogus initialization, now caught, so I made it `std::optional`. I think #8829 can make it non-optional again because it will ensure we always have the derivation when we construct a `DerivationGoal`. See that issue (#7479) for details on the general goal. `git grep 'Raw::Raw'` indicates the two types I didn't yet convert `DerivedPath` and `BuiltPath` (and their `Single` variants) . This is because @roberth and I (can't find issue right now...) plan on reworking them somewhat, so I didn't want to churn them more just yet. Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
2023-08-18Merge pull request #8845 from cole-h/fix-double-percent-encodingEelco Dolstra
libutil: fix double-encoding of URLs
2023-08-18Merge pull request #8653 from hercules-ci/gitignore-.cacheRobert Hensing
.gitignore: Add .cache/
2023-08-18test/flakes/follow-paths.sh: QuoteRobert Hensing
Co-authored-by: Alex Ameen <alex.ameen.tx@gmail.com>
2023-08-18Merge pull request #8832 from hercules-ci/positive-source-filterJohn Ericson
Add positive source filter
2023-08-18Merge pull request #8840 from iFreilicht/tests-for-nix-replRobert Hensing
Add tests for repl formatting with and without :p
2023-08-17libutil: fix double-encoding of URLsCole Helbling
If you have a URL that needs to be percent-encoded, such as `http://localhost:8181/test/+3d.tar.gz`, and try to lock that in a Nix flake such as the following: { inputs.test = { url = "http://localhost:8181/test/+3d.tar.gz"; flake = false; }; outputs = { test, ... }: { t = builtins.readFile test; }; } running `nix flake metadata` shows that the input URL has been incorrectly double-encoded (despite the flake.lock being correctly encoded only once): [...snip...] Inputs: └───test: http://localhost:8181/test/%252B3d.tar.gz?narHash=sha256-EFUdrtf6Rn0LWIJufrmg8q99aT3jGfLvd1//zaJEufY%3D (Notice the `%252B`? That's just `%2B` but percent-encoded again) With this patch, the double-encoding is gone; running `nix flake metadata` will show the proper URL: [...snip...] Inputs: └───test: http://localhost:8181/test/%2B3d.tar.gz?narHash=sha256-EFUdrtf6Rn0LWIJufrmg8q99aT3jGfLvd1//zaJEufY%3D --- As far as I can tell, this happens because Nix already percent-encodes the URL and stores this as the value of `inputs.asdf.url`. However, when Nix later tries to read this out of the eval state as a string (via `getStrAttr`), it has to run it through `parseURL` again to get the `ParsedURL` structure. Now, this itself isn't a problem -- the true problem arises when using `ParsedURL::to_string` later, which then _re-escapes the path_. It is at this point that what would have been `%2B` (`+`) becomes `%252B` (`%2B`).
2023-08-17libexpr/tests: test that parseFlakeRef doesn't percent-encode twiceCole Helbling
2023-08-17Test repl formatting with and without :pFelix Uhl
2023-08-16Merge pull request #8833 from hercules-ci/jobcategory-docEelco Dolstra
Document jobCategory()
2023-08-16Merge pull request #8825 from trofi/search-path-prefixEelco Dolstra
src/libexpr/search-path.cc: avoid out-of-bounds read on string_view
2023-08-16Document jobCategory()Robert Hensing
2023-08-16Add gc root for nixpkgs/lib contentRobert Hensing
2023-08-16GC root for fetched nixpkgs/lib contentRobert Hensing
2023-08-16Add positive source filterRobert Hensing
Source filtering is a really cool Nix feature that lets us avoid a lot of rebuilds, which speeds up the iteration cycle a lot in cases where the relevant source files aren't actually modified. We used to have a source filter that marked a few files as irrelevant, but this is the wrong approach, as we have many more files that are irrelevant. We may call this negative filtering. This commit switches the source filtering to positive filtering, which is a lot more robust. Instead of marking which files we don't need we marked the files that we do need. It's a superior approach because it is fail safe. Instead of allowing build performance problems to creep in over time, we require that all source inputs are declared. I shouldn't have to explain that declaring inputs is a good practice, so I'll stop over-explaining here. I do have to acknowledge that this will cause a build failure when the filter is incomplete. This is *good*, because it's the only realistic way we could be reminded of these problems. These events will be infrequent, so the small cost of extending the filter is worth it, compared to the hidden cost of longer dev cycles for things like tests, docker image, etc, etc. (Also rebuilding Nix for stupid unnecessary reasons makes my blood boil)
2023-08-15Update tests/flakes/follow-paths.shVertex
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>