ThinkChaos
19bf776e8e
cli: Add --nix-option to allow passing arbitrary nix options
2022-11-13 16:53:00 -07:00
Zhaofeng Li
5432fe488e
error: Add backtraces to ChildFailure and ChildKilled
...
The plan is to have more hierarchical error types so it's easier
to find exactly where in the deployment flow an error occurred.
2022-10-29 13:42:47 -06:00
Zhaofeng Li
715e10561b
deployment: Pass job to host during upload_keys
2022-10-29 13:42:47 -06:00
Zhaofeng Li
2efa8d26c1
eval: Fix rustfmt
2022-10-29 02:36:11 -06:00
Zhaofeng Li
f6c13a20c3
eval: Use correct value parser for expression_file
...
Fallout from Clap 4.0 migration.
2022-10-29 02:24:57 -06:00
David Arnold
2bd563e847
fix: export assertion module
2022-10-23 13:09:54 -07:00
Zhaofeng Li
956c3363b8
deployment: Fail the evaluation job if any attribute fail to evaluate
...
nix-eval-jobs doesn't return non-zero exit code if any attribute
fail to evaluate. Let's just keep track ourselves.
Fixes #122 .
2022-10-19 17:16:25 -06:00
Zhaofeng Li
872949504b
Migrate to Clap 4.0
...
It was kind of a bumpy experience. Gradual migration to the Derive API
is coming soon.
2022-10-09 15:26:37 -06:00
Zhaofeng Li
bf95e2dce8
job: Fix job state update
...
Previously, if `old_state == new_state` the job metadata wasn't reinserted.
Just `get_mut` instead of removing and reinserting.
2022-10-09 15:26:37 -06:00
Zhaofeng Li
513ffd1f12
Apply fixes from Clippy
2022-10-09 15:26:37 -06:00
Zhaofeng Li
2b612e294b
Cargo.lock: Update
2022-10-09 15:26:37 -06:00
Zhaofeng Li
4e4f9ad4d2
Merge pull request #121 from lovesegfault/utils-follows
...
refactor: misc flake improvements
2022-10-09 00:26:19 -06:00
Bernardo Meurer
2d98088877
refactor(flake): make nix-eval-jobs's flake-utils follow ours
...
This avoids having a duplicated flake-utils entry in the lockfile
2022-10-08 23:33:26 -03:00
Bernardo Meurer
8bec45393e
refactor(flake): rename utils to flake-utils
...
This is the expected name for downstream consumers of colmena's flake
who want to override the input.
Having it be named `utils` causes some surprise/confusion when doing
`inputs.flake-utils.follows` as is usual.
2022-10-08 23:31:22 -03:00
Zhaofeng Li
241b61dcc0
manual: Add 0.3.2 release notes
2022-09-29 01:03:08 -06:00
Zhaofeng Li
0ee3bb2e62
Update inotify-tools alias
...
No longer exists in unstable since https://github.com/NixOS/nixpkgs/pull/192681 .
2022-09-28 18:47:42 -06:00
Zhaofeng Li
a8e6b999cf
host/ssh: Fix extension matching for .drv
...
Oopsie
2022-09-21 00:40:27 -06:00
Zhaofeng Li
8b06bb108e
.github/tests: Run tests with the full git checkout
2022-09-18 17:47:17 -06:00
Zhaofeng Li
3bdd0b1cc7
hive/flake.nix: Fix trailing whitespce
2022-09-18 17:45:43 -06:00
Zhaofeng Li
7fac0278e1
manual: Flake-enable deployments now use nix copy
with ssh-ng://
2022-09-18 17:27:46 -06:00
Zhaofeng Li
3e8ec98a26
ssh: Support using the experimental nix copy
command to copy
...
The new SSH store protocol (ssh-ng://) provides better performance.
This is now enabled for flake deployments.
2022-09-18 17:27:46 -06:00
Zhaofeng Li
695ec0c36f
Use --extra-experimental-features as opposed to --experimental-features
2022-09-18 17:27:46 -06:00
Zhaofeng Li
d4dcf1c6e9
Add support for using an already-evaluated hive
...
Note that the interface hasn't been finalized yet.
After this commit, the discovery order is:
1. flake.nix `colmenaHive` output (prepared hive)
2. flake.nix `colmena` output (raw hive)
3. hive.nix (raw hive)
2022-09-18 17:27:46 -06:00
Zhaofeng Li
bd048e98d8
flake.nix: Add lib.makeHive
...
Ground work to make the evaluation logic more clearly separated from
the deployment logic.
The `colmenaHive` output will be the integration point between the two
halves.
2022-09-18 17:27:46 -06:00
Zhaofeng Li
95be6686ae
flake.nix: Reindent
2022-09-18 17:27:46 -06:00
Zhaofeng Li
4e828171d8
manual/keys: Add note about flake-copying behavior in Nix
...
Ref: #78
2022-09-18 17:27:46 -06:00
Zhaofeng Li
c171a43328
Cargo.lock: Update
2022-09-18 17:27:46 -06:00
Zhaofeng Li
52b594a167
apply: Run rustfmt
2022-09-01 18:49:11 -06:00
Zhaofeng Li
f01f6ac197
deployment: Move post-activation key upload after reboot
...
Ref: #113
2022-09-01 18:42:37 -06:00
Zhaofeng Li
3af3751d8e
apply: Default to the "boot" goal if --reboot is passed
...
Fixes #113 .
2022-09-01 18:42:37 -06:00
Zhaofeng Li
e7356e2c5c
.github: Upgrade runner to macOS 12
2022-08-28 00:45:23 -06:00
Zhaofeng Li
e740a50b73
nix/assets: Use more descriptive prefix for temp dir
2022-08-28 00:45:23 -06:00
Zhaofeng Li
1a97f8d207
manual/release-notes: Update 0.3.1 release date
...
It's a month late :/
2022-08-28 00:45:23 -06:00
Zhaofeng Li
9d1beeadb3
manual: Add 0.3.1 release notes
2022-08-28 00:45:23 -06:00
Zhaofeng Li
3fbc5eeb11
repl: Add arguments depending on Nix version
2022-08-17 11:56:30 -06:00
Zhaofeng Li
741d5c4fbb
repl: Use a temporary file for the expression
...
This makes it compatible with Nix 2.3+.
2022-08-17 11:56:30 -06:00
Zhaofeng Li
797297b609
integration-tests/flakes: Check pure evaluation
2022-08-17 01:09:43 -06:00
Zhaofeng Li
4cdb21be0b
integration-tests/flakes: Eliminate slow nixpkgs copy
2022-08-17 01:09:43 -06:00
Zhaofeng Li
7aa1607a3c
nix_eval_jobs: Pass the expression on the command line
...
This gets rid of the temporary file.
2022-08-17 01:09:43 -06:00
Zhaofeng Li
976849028b
flake.nix: Add patched nix-eval-jobs with pure-eval fixes
2022-08-17 01:09:43 -06:00
Zhaofeng Li
06168dabf3
nix_eval_jobs: Remove --impure
...
Note that this still does not make flake evaluation pure in
nix-eval-jobs yet, since it forcibly resets `evalSettings.pureEval`
prior to starting the evaluation.
2022-08-16 20:38:42 -06:00
Zhaofeng Li
c540e00861
Add repl
subcommand
...
Fixes #115 .
2022-08-16 20:16:00 -06:00
Zhaofeng Li
11add6501e
exec: Set label width in output
2022-08-16 20:16:00 -06:00
Zhaofeng Li
247d5754db
integration-tests/flakes: Fix impure use of <nixpkgs>
...
Caught by pure eval :)
2022-08-16 20:16:00 -06:00
Zhaofeng Li
80426aa814
cli: Support passing --impure
2022-08-16 20:16:00 -06:00
Zhaofeng Li
8aca525788
Make flake evaluation pure
...
This seems to be the easiest way to get pure-eval working with
existing evaluation mechinery (nix-instantiate, nix-eval-jobs).
Now `--pure-eval` is forced for flakes with user being able to
add `--impure` as needed.
2022-08-16 20:16:00 -06:00
Zhaofeng Li
092e5848ab
Directly serialize Nix expressions as quoted strings
2022-08-16 20:16:00 -06:00
Zhaofeng Li
271d9ae576
nix/assets: Make assets a flake
...
Groundwork to make flake evaluation pure. `pure-eval` works when
the git workspace is clean.
2022-08-16 20:16:00 -06:00
Zhaofeng Li
a98d1f8963
nix/flake: Always resolve flake metadata
2022-08-16 20:16:00 -06:00
Zhaofeng Li
5e76e8ab26
.github: Restructure workflows
2022-08-16 20:16:00 -06:00