Sebastian Ullrich
b459a3e856
git: extend cache dir lock over all mutating operations
2021-11-01 09:14:56 +01:00
Eelco Dolstra
888771b4b2
Merge pull request #5448 from edolstra/timeout
...
Apply a 60-minute timeout to the 'tests' workflow
2021-10-29 15:38:30 +02:00
Eelco Dolstra
19148f1940
Apply a 60-minute timeout to the 'tests' workflow
2021-10-29 14:48:36 +02:00
Eelco Dolstra
e6795c4350
Style
2021-10-29 14:45:13 +02:00
Eelco Dolstra
6e30d9b69f
Merge branch 'master' of https://github.com/alekswn/nix
2021-10-29 14:42:26 +02:00
Eelco Dolstra
0d00dd6262
Merge pull request #5149 from edolstra/non-blocking-gc
...
Non-blocking garbage collector
2021-10-28 23:55:16 +02:00
Eelco Dolstra
33d04e8a8d
Use nix::connect() to connect to the garbage collector
2021-10-28 22:51:11 +02:00
Eelco Dolstra
22c35ea5b8
Remove unused variable
2021-10-28 22:51:11 +02:00
Eelco Dolstra
a7d4f3411e
Merge remote-tracking branch 'origin/master' into non-blocking-gc
2021-10-28 14:56:55 +02:00
Eelco Dolstra
bc4b7521f4
Rename rl-2.5.md to rl-next.md
...
Having a generically named file for release notes for the next release
makes things easier for PRs.
2021-10-28 14:36:47 +02:00
Shay Bergmann
a50c027ece
toJSON: improve pos accuracy, add trace
2021-10-27 19:48:48 +00:00
Shay Bergmann
465a167c43
nix-instantiate: pass pos in the --eval --json
code path
2021-10-27 19:01:32 +00:00
figsoda
a2473823d7
run: use pname as a fallback for main program
2021-10-27 14:49:24 -04:00
Eelco Dolstra
5a160171d0
Remove redundant 'warning:'
2021-10-27 18:14:12 +02:00
Eelco Dolstra
9c6ac9eb0e
2.4 release notes: Add some migration notes
2021-10-27 17:33:32 +02:00
Eelco Dolstra
9559f74a99
Merge pull request #5440 from edolstra/build-remote
...
Fix preferLocalBuild when max-jobs == 0
2021-10-27 15:27:17 +02:00
Eelco Dolstra
1254e8753c
build-remote: Implicitly add the 'builtin' system type to all machines
...
This makes 'nix-env -i --max-jobs 0' work with remote builders.
2021-10-27 14:25:13 +02:00
Eelco Dolstra
f2280749b1
If max-jobs == 0, do preferLocalBuild on remote builders
2021-10-27 14:21:31 +02:00
Eelco Dolstra
6e684d1b87
daemon: Accept 'repeat' setting from untrusted users
...
Fixes #5352 .
2021-10-27 13:09:13 +02:00
Eelco Dolstra
13a7a24ba5
Style
2021-10-27 13:02:37 +02:00
Shay Bergmann
769de259f0
toJSON: pass pos in case of a list as well
2021-10-26 14:43:15 +00:00
Timothy
8919b81dad
Support building flakes from a Git repo url with submodules query parameter
2021-10-26 20:02:37 +07:00
Eelco Dolstra
5667822edc
Merge pull request #5421 from bew/fix-devshell-build-on-non-nixos
...
Fix devShell build on non-NixOS with a different boost version
2021-10-26 14:45:30 +02:00
Eelco Dolstra
0d9e050ba7
parseExperimentalFeature(): Initialize atomically
2021-10-26 14:29:48 +02:00
Eelco Dolstra
9ce84c64c5
Tweak fetchTree docs
2021-10-26 14:21:24 +02:00
Eelco Dolstra
3155862bae
Merge remote-tracking branch 'origin/overhaul-xp-features'
2021-10-26 14:08:27 +02:00
regnat
af99941279
Make experimental-features a proper type
...
Rather than having them plain strings scattered through the whole
codebase, create an enum containing all the known experimental features.
This means that
- Nix can now `warn` when an unkwown experimental feature is passed
(making it much nicer to spot typos and spot deprecated features)
- It’s now easy to remove a feature altogether (once the feature isn’t
experimental anymore or is dropped) by just removing the field for the
enum and letting the compiler point us to all the now invalid usages
of it.
2021-10-26 07:02:31 +02:00
Shay Bergmann
ba81e871b2
toJSON: report error position for fancier output
...
Given flake:
```nix
{ description = "nix json error provenance";
inputs = {};
outputs = { self }: {
jsonFunction = _: "function";
json = builtins.toJSON (_: "function");
};
}
```
- Before:
```console
❯ nix eval --json .#jsonFunction
error: cannot convert a function to JSON
```
- After:
```console
❯ nix eval --json .#jsonFunction
error: cannot convert a function to JSON
at /nix/store/b7imf1c2j4jnkg3ys7fsfbj02s5j0i4f-source/testflake/flake.nix:4:5:
3| outputs = { self }: {
4| jsonFunction = _: "function";
| ^
5| json = builtins.toJSON (_: "function");
```
2021-10-25 21:17:52 +00:00
Alexander Bantyev
b9234142f5
addToStore, addToStoreFromDump: add references argument
...
Allow to pass a set of references to be added as info to the added paths.
2021-10-23 21:30:51 +03:00
Benoit de Chezelles
ec9c1286ad
Fix devShell build on non-NixOS with a different boost version
2021-10-23 15:32:48 +02:00
Domen Kožar
4a2b7cc68c
Merge pull request #5405 from NixOS/dependabot/github_actions/actions/checkout-2.3.5
...
Bump actions/checkout from 2.3.4 to 2.3.5
2021-10-19 12:13:10 -05:00
dependabot[bot]
2400819809
Bump actions/checkout from 2.3.4 to 2.3.5
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 2.3.4 to 2.3.5.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v2.3.4...v2.3.5 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2021-10-18 22:01:24 +00:00
Domen Kožar
623514bf9e
Merge pull request #5398 from kamadorueda/master
...
fetch: nicer infinite recursion errors
2021-10-17 20:55:36 -05:00
Domen Kožar
51c812d6bb
Merge pull request #5365 from arafangion/master
...
Clarify that not all nix packages will use the default build phases
2021-10-17 20:54:00 -05:00
Kevin Amado
823dce945a
fetch: nicer infinite recursion errors
...
- This change applies to builtins.fetchurl and builtins.fetchTarball
- PoC: `let x = builtins.fetchurl x; in x`
- Before:
```bash
$ nix-instantiate --extra-experimental-features flakes --strict
error: infinite recursion encountered
```
- After:
```bash
$ nix-instantiate --extra-experimental-features flakes --strict
error: infinite recursion encountered
at /data/github/kamadorueda/nix/test.nix:1:9:
1| let x = builtins.fetchurl x; in x
| ^
```
Mentions: #3505
2021-10-17 12:54:53 -05:00
Eelco Dolstra
97b4904136
Merge pull request #5396 from kamadorueda/master
...
fetchTree: add pos to EvalState::forceValue
2021-10-17 19:50:21 +02:00
Alexey Novikov
e989c83b44
Add error reporting to machine spec paser
...
Currently machine specification (`/etc/nix/machine`) parser fails
with a vague exception if the file had incorrect format.
This commit adds verbose exceptions and unit-tests for the parser.
2021-10-17 12:45:56 +04:00
Alexey Novikov
64a3b045c1
Fix error detection in 'base64Decode()'
...
Fixed a bug in initialization of 'base64DecodeChars' variable.
Currently decoder do not fail on invalid Base64 strings.
Added test-case to verify the fix.
Also have made 'base64DecodeChars' to be computed at compile time.
And added a test case to encode/decode string with non-printable charactes.
2021-10-17 12:45:26 +04:00
John Chapman
ffeec5f283
Clarify that not all nix packages will use the default build phases
2021-10-17 15:24:22 +11:00
Arthur Gautier
fa4abe46e2
preloadNSS: document the preload mechanism
...
Signed-off-by: Arthur Gautier <baloo@superbaloo.net>
2021-10-16 02:55:25 +00:00
Kevin Amado
e5a27a3b4e
fetchTree: add pos to EvalState::forceValue
...
- This way we improve error messages
on infinite recursion
- Demo:
```nix
let x = builtins.fetchTree {
type = "git";
inherit x;
};
in x
```
- Before:
```bash
$ nix-instantiate --extra-experimental-features flakes --strict
error: infinite recursion encountered
```
- After:
```bash
$ nix-instantiate --extra-experimental-features flakes --strict
error: infinite recursion encountered
at /data/github/kamadorueda/nix/test.nix:3:10:
2| type = "git";
3| inherit x;
| ^
4| };
```
Mentions: #3505
2021-10-15 19:25:19 -05:00
Kevin Amado
18e3d63341
fetchTree: add pos to EvalState::forceValue
...
- This way we improve error messages
on infinite recursion
- Demo:
```nix
let x = builtins.fetchTree x;
in x
```
- Before:
```bash
$ nix-instantiate --extra-experimental-features flakes --strict
error: infinite recursion encountered
```
- After:
```bash
$ nix-instantiate --extra-experimental-features flakes --strict
error: infinite recursion encountered
at /data/github/kamadorueda/nix/test.nix:1:9:
1| let x = builtins.fetchTree x;
| ^
2| in x
```
Mentions: #3505
2021-10-15 19:25:19 -05:00
Eelco Dolstra
a594d1afd5
Revert "Fix referrers test"
...
This reverts commit e31a48366f
. Unnecessary after 0be8cc1466
.
2021-10-15 16:58:21 +02:00
Eelco Dolstra
10f9a8e77d
Add a test for the non-blocking GC
2021-10-15 16:52:37 +02:00
Eelco Dolstra
ac54c6faa6
Fix main GC thread exiting
2021-10-15 16:36:48 +02:00
Yorick van Pelt
fcb8af550f
Restore parent mount namespace in restoreProcessContext
...
This ensures any started processes can't write to /nix/store (except
during builds). This partially reverts 01d07b1e
, which happened because
of #2646 .
The problem was only happening after nix downloads anything, causing
me to suspect the download thread. The problem turns out to be:
"A process can't join a new mount namespace if it is sharing
filesystem-related attributes with another process", in this case this
process is the curl thread.
Ideally, we might kill it before spawning the shell process, but it's
inside a static variable in the getFileTransfer() function. So
instead, stop it from sharing FS state using unshare(). A strategy
such as the one from #5057 (single-threaded chroot helper binary) is
also very much on the table.
Fixes #4337 .
2021-10-15 16:25:49 +02:00
Eelco Dolstra
e0936ae38f
Fix crash when a GC client disconnects
...
The client thread can't just delete its own thread object from
connections, it has to detach it.
2021-10-15 16:12:21 +02:00
Eelco Dolstra
130284b850
Merge pull request #5390 from NixOS/fix-isnewerthan-check
...
Fix the `isDaemonNewer` guard in the testsuite
2021-10-15 15:50:20 +02:00
regnat
0b55c8767d
Disable the eval-store test when using the daemon
...
Using the daemon will break most of the assumptions of this test, so
it’s as simple to just disable it
2021-10-15 14:15:43 +02:00
Eelco Dolstra
4d014221d4
Fix test against old daemon
2021-10-15 12:52:21 +02:00