Robert Hensing
85de5a60c7
Use lib instead of explicit fileset passing
2024-06-26 04:11:20 +02:00
Robert Hensing
d40c59ed19
flake.nix: Use the nixComponents scope instead of bare pkgs packages
...
... which aren't around anymore.
2024-06-26 04:11:18 +02:00
Robert Hensing
a14faa869d
flake.nix: Use a Nixpkgs scope for components
2024-06-26 04:07:49 +02:00
John Ericson
a92f3071bb
Merge pull request #10962 from hercules-ci/tidy-packages-matrix
...
flake.nix: Tidy `packages` build matrix code
2024-06-25 22:06:33 -04:00
John Ericson
3f191cc0e7
Merge pull request #10961 from hercules-ci/tidy
...
Tidy
2024-06-25 22:04:32 -04:00
Robert Hensing
e28e6b96bb
flake.nix: Tidy packages
build matrix code
...
flatMapAttrs is easier to read because it introduces the values
before using them, kind of like a `let` bindings with multiple
values.
The repeated comments remind the reader of the purpose of the
innermost attrsets, which is actually very simple.
Knowing that they go right into the result should help a lot
with building a mental model for this pattern.
2024-06-26 02:03:21 +02:00
Robert Hensing
6fe8fb967a
libstore/worker.hh: Document Worker
2024-06-26 01:43:31 +02:00
Robert Hensing
fd0b376c79
libstore/worker.cc: Remove outdated comment
...
It was added above this conditional
Worker::Worker(LocalStore & store)
: store(store)
{
/* Debugging: prevent recursive workers. */
if (working) abort();
working = true;
However, `working` has since been removed.
Source: 7f8e805c8e/src/libstore/build.cc (L2617)
2024-06-26 01:43:31 +02:00
Robert Hensing
052f1320dd
Merge pull request #10960 from rhendric/rhendric/reference-manual
...
docs: internal documentation touchup
2024-06-26 01:16:45 +02:00
John Ericson
65d7c80365
Merge pull request #10955 from NixOS/meson-nix-util-c
...
Build nix-util-c with meson + unit tests
2024-06-25 19:06:06 -04:00
Ryan Hendrickson
fba81cf74b
docs: internal documentation touchup
...
Make two comments more accurate for the next reader.
2024-06-25 18:44:56 -04:00
Robert Hensing
ae3304bde9
Test static build of nix-util on non-darwin
2024-06-25 21:35:23 +02:00
Robert Hensing
1eaddb209d
TMP: disable static meson build on darwin
2024-06-25 21:35:23 +02:00
Robert Hensing
6a28566db6
refact: concatMapAttrs -> flatMapAttrs
...
This should be slightly easier to read.
We could apply this to all concatMapAttrs calls.
2024-06-25 21:35:23 +02:00
Robert Hensing
ac89828b5a
Build nix-util-c with meson and unit test
2024-06-25 21:35:23 +02:00
John Ericson
ccb679ee01
Merge pull request #10941 from hercules-ci/check-derivation-name
...
Improve error messages for invalid derivation names
2024-06-25 14:11:34 -04:00
Robert Hensing
7df9d6da65
Improve error messages for invalid derivation names
2024-06-25 19:41:29 +02:00
John Ericson
5f4f789144
Merge pull request #10954 from NixOS/ci-meson
...
ci.yml: Add meson_build
2024-06-25 09:02:33 -04:00
John Ericson
d02d38f16d
Merge pull request #7048 from puffnfresh/lutimes
...
Guard uses of lutimes, for portability
2024-06-25 06:06:45 -04:00
Robert Hensing
0674be8d49
nix-util: Fix build
2024-06-25 10:26:57 +02:00
Robert Hensing
1801119e29
ci.yml: Add meson_build
...
Restore meson CI after https://github.com/NixOS/nix/pull/10929
2024-06-25 10:15:28 +02:00
Brian McKenna
5be44d235a
Guard uses of lutimes, for portability
2024-06-24 17:35:34 -04:00
John Ericson
05580a373f
Fix error in the no-GC build
2024-06-24 17:18:16 -04:00
John Ericson
5c497a992b
Merge pull request #10922 from hercules-ci/functional-tests-on-nixos
...
Run the functional tests in a NixOS environment
2024-06-24 13:36:13 -04:00
Robert Hensing
445a4a0298
ci.yml: Add swap and monitor it
2024-06-24 19:05:30 +02:00
Robert Hensing
c66f1e7660
Merge pull request #10913 from NixOS/no-global-eval-settings-in-libexpr
...
No global eval settings in `libnixexpr`
2024-06-24 18:52:19 +02:00
John Ericson
fda4c78921
Merge pull request #10951 from obsidiansystems/load-just-one-config
...
Small global config refactors
2024-06-24 12:38:04 -04:00
John Ericson
52bfccf8d8
No global eval settings in libnixexpr
...
Progress on #5638
There is still a global eval settings, but it pushed down into
`libnixcmd`, which is a lot less bad a place for this sort of thing.
2024-06-24 12:15:16 -04:00
Robert Hensing
5a7ccd6580
tests/functional: Print all args of fail()
2024-06-24 18:11:58 +02:00
Robert Hensing
d4ca634508
tests/functional: Differentiate die and fail
2024-06-24 18:11:10 +02:00
John Ericson
cb0c868da4
Allow loading config files into other config objects
...
This gives us some hope of moving away from global variables.
2024-06-24 12:07:56 -04:00
John Ericson
b46e13840b
Format config-global.{cc,hh}
...
Since the code is factored out, it is no longer avoding the formatter.
2024-06-24 12:07:56 -04:00
Robert Hensing
602c444411
Merge remote-tracking branch 'upstream/master' into functional-tests-on-nixos
2024-06-24 18:07:21 +02:00
John Ericson
1620ad4587
Split out GlobalConfig
into its own header
...
This makes it easier to understand the reach of global variables /
global state in the config system.
2024-06-24 11:36:21 -04:00
Robert Hensing
ce4bcef830
Merge pull request #10745 from obsidiansystems/ca-cleanup
...
Cleanup `ContentAddressMethod` to match docs
2024-06-24 17:25:45 +02:00
John Ericson
b51e161af5
Cleanup ContentAddressMethod
to match docs
...
The old `std::variant` is bad because we aren't adding a new case to
`FileIngestionMethod` so much as we are defining a separate concept ---
store object content addressing rather than file system object content
addressing. As such, it is more correct to just create a fresh
enumeration.
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2024-06-24 10:24:06 -04:00
John Ericson
64e599ebe1
Rename Recursive
-> NixArchive
...
For enums:
- `FileIngestionMethod`
- `FileSerialisationMethod`
2024-06-24 10:24:06 -04:00
Eelco Dolstra
903acc7c0f
Merge pull request #10873 from siddhantk232/rm-createdirs
...
use `std::filesystem::create_directories` for createDirs
2024-06-24 14:54:37 +02:00
Eelco Dolstra
bc21c54565
Merge pull request #10943 from pineapplehunter/master
...
Accept response from gitlab api with more than one entry in json
2024-06-24 14:23:47 +02:00
Robert Hensing
6f64154eea
Merge pull request #10884 from tomberek/tomberek.warn_structuredAttrs_advanced
...
fix: warn and document when advanced attributes will have no impact d…
2024-06-24 07:56:26 +02:00
John Ericson
927b719bce
Merge pull request #10874 from haenoe/derivation-tests
...
Tests for derivation "advanced attrs"
2024-06-23 22:09:10 -04:00
HaeNoe
7fb14201af
Unit test for derivation "advanced attrs"
...
This tests the parser and JSON format using the DRV files from the tests
added in the previous commit.
Co-Authored-By: John Ericson <John.Ericson@Obsidian.Systems>
2024-06-23 21:42:56 -04:00
HaeNoe
9f9984e4d0
Functional test for derivation "advanced attrs"
...
This tests the Nix language side of things.
We are purposely skipping most of `common.sh` because it is overkill for
this test: we don't want to have an "overfit" test environment.
Co-Authored-By: John Ericson <John.Ericson@Obsidian.Systems>
2024-06-23 21:42:56 -04:00
John Ericson
490ca93cf8
Factor out a bit more language testings infra
...
Will be used in a second test after `lang.sh`.
2024-06-23 15:33:45 -04:00
John Ericson
df068734ac
Merge pull request #10769 from poweredbypie/mingw-spawn
...
Implement runProgram for Windows
2024-06-23 14:12:36 -04:00
Shogo Takata
0468061dd2
accept response from gitlab with more than one entry
2024-06-23 00:52:19 +09:00
Eelco Dolstra
d54590fdf3
Fix --no-sandbox
...
When sandboxing is disabled, we cannot put $TMPDIR underneath an
inaccessible directory.
2024-06-21 17:06:19 +02:00
Eelco Dolstra
58b7b3fd15
Formatting
2024-06-21 17:06:19 +02:00
Eelco Dolstra
ede95b1fc1
Put the chroot inside a directory that isn't group/world-accessible
...
Previously, the .chroot directory had permission 750 or 755 (depending
on the uid-range system feature) and was owned by root/nixbld. This
makes it possible for any nixbld user (if uid-range is disabled) or
any user (if uid-range is enabled) to inspect the contents of the
chroot of an active build and maybe interfere with it (e.g. via /tmp
in the chroot, which has 1777 permission).
To prevent this, the root is now a subdirectory of .chroot, which has
permission 700 and is owned by root/root.
2024-06-21 17:06:19 +02:00
Théophane Hufschmitt
d99c868b04
Add a release note for the build-dir hardening
2024-06-21 17:06:19 +02:00