Zhaofeng Li
98897bf4de
Support building on target nodes
...
This partially addresses #33 , and allows Colmena to be used more
easily on bandwidth-constrained hosts and macOS.
With `deployment.buildOnTarget = true;` deployment works fine from
macOS without designated builders, except when IFD is involved.
2022-01-01 16:41:35 -08:00
Zhaofeng Li
872f944743
eval.nix: Skip recursive type checking when cross-referencing configs through the nodes argument
...
This makes evaluation faster especially when `nodes` is heavily used in
the configuration (like in my auto-meshing setup). This matches the
behavior of Morph.
2022-01-01 16:41:35 -08:00
Zhaofeng Li
cdbb69617f
eval.nix: Support specifying a list of configs
2022-01-01 16:41:35 -08:00
Zhaofeng Li
bc3450b3ce
cli: Disable apply-local on non-Linux platforms
2022-01-01 16:41:35 -08:00
Zhaofeng Li
f0f1be46c3
.github: Pin NIX_PATH before nix-shell invocation
2022-01-01 16:41:35 -08:00
Zhaofeng Li
ef2b5b53a8
.github: Add Nix 2.5.1 and 2.6.0pre to matrix
2022-01-01 16:41:35 -08:00
Zhaofeng Li
d74df64826
Update nixpkgs, fix manual build
2022-01-01 16:41:35 -08:00
Zhaofeng Li
06804e3715
Support macOS
...
Currently it requires Linux remote builders to be set up to do
anything useful, but soon it will not once we able to initiate
builds directly on the target nodes themselves.
2022-01-01 16:41:35 -08:00
Zhaofeng Li
f9f4dd5f63
Remove another ugly toJSON hack
2022-01-01 16:41:35 -08:00
Zhaofeng Li
111bc9dea7
Remove test-progress subcommand from release builds
2022-01-01 16:41:35 -08:00
Zhaofeng Li
f809d3b21c
nix/host: Always copy outputs to remote along with derivations when realizing
...
This prevents useless rebuilds when trying to realize a derivation on
a remote host. This code path isn't actually used by Colmena at the
moment.
2022-01-01 16:41:35 -08:00
Zhaofeng Li
64534a744c
manual: Make mdbook-linkcheck happy
2022-01-01 16:41:35 -08:00
Zhaofeng Li
16bf9899c5
manual: Correct paths to eval.nix in comments
2022-01-01 16:41:35 -08:00
Zhaofeng Li
2b652f7236
hive: Add another test for nixpkgs.system
2022-01-01 16:41:35 -08:00
Zhaofeng Li
8f77184d58
eval.nix: Inherit pkgs.system in evalConfig
2021-12-18 14:35:06 -08:00
Zhaofeng Li
bd4493da73
nix: Move eval.nix tests into /hive
2021-12-18 14:35:06 -08:00
Zhaofeng Li
d5c6f7cb0c
integration-tests: No need to sort
2021-12-18 14:35:06 -08:00
Zhaofeng Li
b52ac7e94f
.github: workflow_run triggers can't be used on non-default branches
...
[ci skip] for main
2021-12-07 23:28:36 -08:00
Zhaofeng Li
a12d7e1115
Update installation docs to point users at Nixpkgs
...
Nixpkgs now includes Colmena starting with 21.11 and is now the
preferred method to obtain Colmena. The `stable` branch will
continue to be updated for each stable release.
Fixes #41 .
2021-12-07 23:13:31 -08:00
Zhaofeng Li
83ebe45f20
integration-tests/apply: Test GC root creation
2021-12-07 23:13:31 -08:00
Zhaofeng Li
372de58dff
integration-tests: Make it easier to override pkgs and colmena
2021-12-07 23:13:31 -08:00
Zhaofeng Li
31fc98cfa7
nix: Remove ugly toJSON hack
...
We now evaluate with --strict.
2021-12-07 23:13:31 -08:00
Zhaofeng Li
eebded1786
Build each node individually
...
Now nodes that take a long time to build won't bottleneck the
deployment of other nodes in the same chunk.
Fixes #47 .
2021-12-07 23:13:31 -08:00
Zhaofeng Li
ea09e60e36
default.nix: Oops
2021-12-06 15:08:47 -08:00
Zhaofeng Li
14f6c707f5
flake.nix: Cherry pick supported platforms
2021-12-06 12:47:33 -08:00
Zhaofeng Li
4a31a01c4f
default.nix: Match what was merged in Nixpkgs
2021-12-06 12:26:19 -08:00
Zhaofeng Li
b88a19b904
.github: Add commit status for manual build
2021-12-05 18:07:12 -08:00
Zhaofeng Li
39f597f778
hive: Pass --read-write-mode
to nix-instantiate --eval
...
This enables the use of IFD inside `meta` and node `deployment.*`
options, from which we obtain the values with `nix-instantiate --eval`.
Fixes #45 .
2021-12-05 12:34:44 -08:00
Zhaofeng Li
e609301a72
.github: Run user manual build after main build workflow
2021-12-05 01:30:17 -08:00
Zhaofeng Li
804cf1f85e
manual/migration: Fix broken link
2021-12-05 01:14:12 -08:00
Zhaofeng Li
7433661aed
Add deployment.keys.<name>.name
2021-12-05 01:14:12 -08:00
Zhaofeng Li
fb69d701b3
.github: Clean up user manual workflows
2021-12-05 01:14:12 -08:00
Zhaofeng Li
321d847563
integration-tests: Add flakes test
2021-12-05 01:14:12 -08:00
Zhaofeng Li
f849a757d2
integration-tests: Allow configuring the presence of nodes
...
For example, there's no need to spin up any target nodes when we
just want to test `colmena apply-local` on the deployer node.
2021-12-05 01:14:12 -08:00
Zhaofeng Li
0f8873027f
utils: Don't panic in capture_stream
2021-12-05 01:14:12 -08:00
Zhaofeng Li
8e5f168e5d
integration-tests: Fix default.nix
2021-12-04 12:57:12 -08:00
Zhaofeng Li
ddccad4fb9
eval.nix: Auto-call functors as well
...
This makes some very cursed setup work :P
2021-12-04 01:03:26 -08:00
Zhaofeng Li
7757a0e45d
command/apply: Use verbose output when goal is "dry-activate"
...
It doesn't make sense to use the spinners since you can't see
the full output from the activation script.
Fixes #44 .
2021-12-04 01:03:26 -08:00
Zhaofeng Li
7b1feffb9e
util: Log the configuration in use
2021-12-04 01:03:26 -08:00
Zhaofeng Li
9cd2af9438
cli: Re-order arguments in help message
2021-12-04 01:03:26 -08:00
Zhaofeng Li
f253e6eb18
cli: Allow configuring output colorization
...
We now follow the <https://bixense.com/clicolors > standard.
2021-12-04 01:03:26 -08:00
Zhaofeng Li
dc57b489ea
progress: Restore tty-detection after refactoring
2021-12-04 01:03:26 -08:00
Zhaofeng Li
ba16f50722
integration-tests: Cleanup, add parallelism test
2021-12-04 01:03:26 -08:00
Zhaofeng Li
73baa0446f
flake.lock: Update all
2021-12-04 01:03:26 -08:00
Zhaofeng Li
064432f38e
nix/deployment: Misc cleanup
2021-12-04 01:03:26 -08:00
Zhaofeng Li
04976e5fda
job: Make event formatting less ugly
2021-12-03 00:06:21 -08:00
Zhaofeng Li
a3e292d7fb
nix: Another deployment parallelization oops
2021-12-03 00:06:17 -08:00
Zhaofeng Li
2bba64a002
nix: Fix deployment parallelization
2021-12-02 23:49:46 -08:00
Zhaofeng Li
5b2d8d75e7
integration-tests: Add default.nix
2021-12-02 12:48:13 -08:00
Zhaofeng Li
a42e8c5bf0
Misc cleanup
2021-11-23 14:12:01 -08:00