John Ericson
0aa85088de
Factor out Machine::systemSupported
...
There's just enough logic (the `"builtin"` special case) that makes this
worthy of its own method.
2024-01-23 12:53:51 -05:00
John Ericson
870acc2892
Add API docs to Machine
methods
2024-01-23 12:50:48 -05:00
John Ericson
739032762a
Make Machine::systemTypes
a set not vector
...
This is more conceptually correct (the order does not matter), and also
matches what Hydra already does.
(Nix and Hydra matching is needed for dedup
https://github.com/NixOS/hydra/issues/1164 )
2024-01-23 12:30:26 -05:00
Eelco Dolstra
b6aee9a93f
Merge pull request #9833 from obsidiansystems/ssh-arg-split
...
Make `SSHMaster::startCommand` work on an args list
2024-01-23 14:34:41 +01:00
Eelco Dolstra
d210252f77
Merge pull request #9832 from NixOS/dependabot/github_actions/zeebe-io/backport-action-2.4.0
...
build(deps): bump zeebe-io/backport-action from 2.3.0 to 2.4.0
2024-01-23 14:32:16 +01:00
Robert Hensing
08bf2846df
Merge pull request #9653 from obsidiansystems/improve-parse-sink
...
Improve the `ParseSink` interface
2024-01-23 01:04:57 +01:00
Robert Hensing
50e5d7b883
Merge pull request #9818 from Ma27/print-value-on-function-call-type-error
...
libexpr: print value of what is attempted to be called as function
2024-01-23 00:34:38 +01:00
John Ericson
dcdc8db833
Merge pull request #9651 from NixOS/mention-assigned-review-in-handbook
...
maintainers: Mention the monthly “Assigned” column review
2024-01-22 18:33:05 -05:00
John Ericson
6365bbfa81
Improve the FileSystemObjectSink
interface
...
More invariants are enforced in the type, and less state needs to be
stored in the main sink itself. The method here is roughly that known as
"session types".
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2024-01-22 18:01:21 -05:00
John Ericson
966d6fcd01
ParseSink
-> FileSystemObjectSink
...
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2024-01-22 18:01:18 -05:00
John Ericson
b71673109c
Make SSHMaster::startCommand
work on an args list
...
This avoids split-on-whitespace errors:
- No more `bash -c` needed
- No more `shellEscape` needed
- `remote-program` ssh store setting also cleanly supports args (e.g.
`nix daemon`)
- `ssh` uses `--` to separate args for SSH from args for the command to
run.
and will help with Hydra dedup.
Some code taken from #6628 .
Co-Authored-By: Alexander Bantyev <balsoft@balsoft.ru>
2024-01-22 17:46:57 -05:00
dependabot[bot]
9a51209309
build(deps): bump zeebe-io/backport-action from 2.3.0 to 2.4.0
...
Bumps [zeebe-io/backport-action](https://github.com/zeebe-io/backport-action ) from 2.3.0 to 2.4.0.
- [Release notes](https://github.com/zeebe-io/backport-action/releases )
- [Commits](https://github.com/zeebe-io/backport-action/compare/v2.3.0...v2.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>
2024-01-22 22:40:01 +00:00
Maximilian Bosch
81499a0b93
libexpr: print value of what is attempted to be called as function
...
Low-hanging fruit in the spirit of #9753 and #9754 (means 9999years did
all the hard work already).
This basically prints out what was attempted to be called as function,
i.e.
map (import <nixpkgs> {}) [ 1 2 3 ]
now gives the following error message:
error:
… while calling the 'map' builtin
at «string»:1:1:
1| map (import <nixpkgs> {}) [ 1 2 3 ]
| ^
… while evaluating the first argument passed to builtins.map
error: expected a function but found a set: { _type = "pkgs"; AAAAAASomeThingsFailToEvaluate = «thunk»; AMB-plugins = «thunk»; ArchiSteamFarm = «thunk»; BeatSaberModManager = «thunk»; CHOWTapeModel = «thunk»; ChowCentaur = «thunk»; ChowKick = «thunk»; ChowPhaser = «thunk»; CoinMP = «thunk»; «18783 attributes elided»}
2024-01-22 22:41:42 +01:00
Robert Hensing
5f72a97092
Merge pull request #9753 from 9999years/print-value-on-type-error
...
Print the value in `value is X while a Y is expected` error
2024-01-22 22:18:16 +01:00
Robert Hensing
74534829f2
Merge pull request #9830 from hercules-ci/test-cross-version-remote-build
...
tests/nixos: Test remote build against older versions
2024-01-22 19:42:57 +01:00
John Ericson
71bf592381
Merge pull request #6134 from obsidiansystems/expose-proto-rawer
...
Factoring out parts of the serve protocol for Hydra to share
2024-01-22 13:38:50 -05:00
Robert Hensing
c4d7c4a848
nixos/tests/remote-builds*: Format
...
nixpkgs-fmt
2024-01-22 18:47:59 +01:00
Robert Hensing
5167351efb
tests/nixos/remote-builds*: Inline module + format
2024-01-22 18:44:16 +01:00
John Ericson
1fb2582969
Create unit tests for the serve proto handshake
...
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2024-01-22 12:43:11 -05:00
John Ericson
e960b28230
Factor our ServeProto::BasicServerConnection::handshake
...
We'll need this for unit testing.
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2024-01-22 12:43:11 -05:00
John Ericson
4a5ca576da
Factor out ServeProto::BasicClientConnection::handshake
Hydra to share
2024-01-22 12:43:11 -05:00
John Ericson
4580bed3e4
LegacySSHStore::openConnection
move more logic inside catch block
...
Broader error handling logic is more robust.
2024-01-22 12:43:11 -05:00
John Ericson
ce2f714e6d
Start factoring out the serve protocol for Hydra to share
...
Factor out `ServeProto::BasicClientConnection` for Hydra to share
- `queryValidPaths`: Hydra uses the lock argument differently than Nix,
so we un-hard-code it.
- `buildDerivationRequest`: Just the request half, as Hydra does some
things between requesting and responding.
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2024-01-22 12:43:03 -05:00
Robert Hensing
e502d1cf94
tests/nixos: Test remote build against older versions
2024-01-22 18:39:15 +01:00
John Ericson
50ce3832dc
Merge pull request #9512 from hercules-ci/release-notes-bdwgc-traceable-allocator-patch
...
prerequisites-source: Add bdwgc-traceable-allocator-patch
2024-01-22 11:58:43 -05:00
Rebecca Turner
cb7fbd4d83
Print value on type error
...
Adds the failing value to `value is <TYPE> while a <TYPE> is expected`
error messages.
2024-01-22 08:56:02 -08:00
John Ericson
b74ec56da9
Merge pull request #9829 from obsidiansystems/fix-if-if-else-ambiguity
...
If `if`...`if`...`else` ambiguity
2024-01-22 10:58:46 -05:00
John Ericson
316e50cc7c
Fix if
...if
...else
ambiguity
...
This can be parsed two ways. Add a pair of braces so it must be parsed
the intended way.
2024-01-22 10:33:40 -05:00
John Ericson
176dcd5c61
Merge pull request #9626 from jvns/locked-input
...
Make fetchTree locked input error message clearer
2024-01-22 09:31:59 -05:00
pennae
80b84710b8
Update src/libexpr/eval.cc
...
Co-authored-by: John Ericson <git@JohnEricson.me>
2024-01-22 15:15:53 +01:00
Eelco Dolstra
16ccca2e86
Merge pull request #9703 from fricklerhandwerk/upgrade-no-channel
...
don't show `nix-channel` in upgrade instructions
2024-01-22 14:46:47 +01:00
John Ericson
0bcdb4f5f0
Elaborate what the monthly assignments status check entails
...
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2024-01-22 08:38:52 -05:00
John Ericson
b2066c3574
Merge pull request #9521 from fricklerhandwerk/conf-reword-max-jobs
...
reword description of the `max-jobs` setting
2024-01-22 08:29:12 -05:00
John Ericson
a0b86b3160
Merge pull request #9760 from hercules-ci/doc-glossary-nix-expression
...
doc/glossary: Nix expression can be language expression
2024-01-22 08:26:01 -05:00
Théophane Hufschmitt
c8d33bca8d
Merge pull request #9822 from obsidiansystems/algo-vs-hash-algo
...
Start standardizing hash algo flags
2024-01-22 11:08:24 +01:00
Théophane Hufschmitt
f51409cf98
Merge pull request #9805 from yshui/prefetch-unpack
...
Add --unpack to nix store prefetch-file
2024-01-22 10:51:50 +01:00
John Ericson
da1aae2d06
Merge pull request #9821 from obsidiansystems/fix-typo
...
Fix typo in upcomming release notes
2024-01-20 18:03:25 -05:00
John Ericson
202c5e2afc
Start standardizing hash algo flags
...
Do this if we want to do `--hash-algo` everywhere, and not `--algo` for
hash commands.
The new `nix hash convert` is updated. Deprecated new CLI commands are
left as-is (`nix hash path` needs to be redone and is also left as-is).
2024-01-20 17:29:35 -05:00
John Ericson
a93b204c27
Merge pull request #9348 from obsidiansystems/json-formats
...
Document JSON formats
2024-01-20 17:22:39 -05:00
John Ericson
65294fe5fe
Fix typo in upcomming release notes
...
Thanks @cole-h for finding in https://github.com/NixOS/nix/pull/9815#discussion_r1460604130
2024-01-20 17:07:21 -05:00
John Ericson
edf3ecc497
Document JSON formats
...
Good to document these formats separately from commands that happen to
use them.
Eventually I would like this and `builtins.derivation` to refer to a
store section on derivations that is authoritative, but that doesn't yet
exist, and will take some time to make. So I think we're just best off
merging this now as is.
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2024-01-20 17:03:47 -05:00
Rebecca Turner
561a56cd13
Add release notes
2024-01-20 00:04:06 -08:00
Rebecca Turner
d75a5f427a
Print how many checks are run
2024-01-20 00:04:06 -08:00
Rebecca Turner
9404ce36e4
Print derivation paths
...
Also be more consistent with quotes around attribute paths
2024-01-20 00:04:05 -08:00
Rebecca Turner
49221493e2
Log what nix flake check
does
...
There's still room for improvement, but this produces much more
informative output with `-v`:
```
$ nix flake check -v
evaluating flake...
checking flake output 'checks'...
checking derivation checks.aarch64-darwin.ghcid-ng-tests...
checking derivation checks.aarch64-darwin.ghcid-ng-clippy...
checking derivation checks.aarch64-darwin.ghcid-ng-doc...
checking derivation checks.aarch64-darwin.ghcid-ng-fmt...
checking derivation checks.aarch64-darwin.ghcid-ng-audit...
checking flake output 'packages'...
checking derivation packages.aarch64-darwin.ghcid-ng...
checking derivation packages.aarch64-darwin.ghcid-ng-tests...
checking derivation packages.aarch64-darwin.default...
checking flake output 'apps'...
checking flake output 'devShells'...
checking derivation devShells.aarch64-darwin.default...
running flake checks...
warning: The check omitted these incompatible systems: aarch64-linux, x86_64-darwin, x86_64-linux
Use '--all-systems' to check all.
```
2024-01-20 00:02:35 -08:00
John Ericson
9b896bf7e9
Merge pull request #9809 from obsidiansystems/nix-store-add-algo
...
Add missing `--hash-algo` flag to `nix store add`
2024-01-19 23:37:11 -05:00
John Ericson
356352c370
Add missing --hash-algo
flag to nix store add
2024-01-19 23:11:18 -05:00
Robert Hensing
382fa51ff0
Merge pull request #9794 from hercules-ci/queryPathInfoFromClientCache
...
refactor: Extract `Store::queryPathInfoFromClientCache`
2024-01-19 17:33:52 +01:00
Robert Hensing
d19627e8b4
refactor: Remove throw from queryPathInfoFromClientCache
...
Return a value instead of throwing.
Rather than the more trivial refactor of wrapping the return value in
another std::optional, we retain the meaning of the outer optional:
"we know at least something."
So we have changed:
return nullopt -> return nullopt
throw InvalidPath -> return make_optional(nullptr)
return vpi -> return make_optional(vpi)
2024-01-19 17:01:19 +01:00
Robert Hensing
8983ee8b2e
refactor: Un-callback transform Store::queryPathInfoFromClientCache
...
This part of the code was not necessarily callback based.
Removing CPS is always nice; particularly if there's no loss of
functionality, like here.
2024-01-19 17:01:19 +01:00