Commit Graph

148 Commits

Author SHA1 Message Date
Mic92
b8e33babec Merge pull request 'installation: speed up by installing to localhost' (#3255) from flakiness into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3255
2025-04-09 09:58:43 +00:00
Jörg Thalheim
d03971e583 don't expose all clan-depenencies as their own check attributes
this is expensive in CI to display.
2025-04-09 09:52:56 +00:00
Johannes Kirschbauer
69c717ae1f Tests: reconfigure pytest test folder after moving it into clan_cli 2025-04-08 20:13:13 +02:00
Johannes Kirschbauer
12b88cd19b feat(classgen): convert only certain attributes 2025-03-29 14:22:34 +01:00
Jörg Thalheim
c20c0d4ea8 enable python tests without core on macOS 2025-03-25 18:29:49 +01:00
Michael Hoang
62d9a325a2 checks: use pkgs.nixVersions.latest until pkgs.nix is 2.26+ 2025-03-20 15:52:13 +09:00
Jörg Thalheim
ddb5bba48a disabe pytests on macOS for now 2025-03-19 17:33:27 +01:00
Jörg Thalheim
b84230ff90 deduplicate CLAN_CORE/CLAN_CORE_PATH environment variables 2025-03-19 10:30:52 +00:00
Qubasa
63a0e5f35d clan-cli: Fix templates not downloading template, Make templates use Flake cache, Fix flake cache exception on conditional attribute, add more tests 2025-03-19 10:30:52 +00:00
Jörg Thalheim
f24d27c895 try to reproduce CI error with newer nix version 2025-03-11 12:23:59 +00:00
DavHau
af66b63286 clan-cli/tests: limit jobs to 16
This reduces overload on the CI, as it already runs multiple test instances in parallel (with-core, without-core, etc), and otherwise would spawn 96 workers for each of those.
2025-03-10 13:20:18 +00:00
lassulus
df61afe0d2 clan-cli: try to fix CI bug again 2025-02-28 04:58:42 +00:00
lassulus
0104c41921 clan-cli: another try to fix the CI bug 2025-02-27 08:24:28 +01:00
lassulus
35eaaea68e try to fix profiles CI bug 2025-02-22 03:39:42 +00:00
Qubasa
bc66f8b7de clan-cli: Remove set -x from pytest script 2025-02-17 14:10:22 +07:00
Qubasa
892bd25a3a clan-cli: Add CLAN_TEST_STORE env var to clan-pytest-without-core 2025-02-17 13:19:45 +07:00
Michael Hoang
9458fdf7bc clan-cli: fix clan-cli accidentally dependending on all packages 2025-02-04 04:52:47 +00:00
lassulus
8e81cd08c8 clan-cli: add ipython to dev dependencies 2025-02-02 11:52:36 +00:00
Qubasa
0db5abf56a clan-cli: Make clan flakes create discover templates from inputs. Add clan flakes list command 2025-01-30 16:24:50 +07:00
Qubasa
c6d5eb5037 clan-app: Fix default.nix 2025-01-11 10:52:22 +07:00
Michael Hoang
60c2ca726a clan-cli: don't list non-Clan NixOS configurations 2024-12-17 15:11:38 +11:00
Michael Hoang
2ead8a8da8 clan-cli: fix PATH not correctly including runtime dependencies 2024-12-17 13:05:25 +11:00
Michael Hoang
13ab00cd55 clan-cli: fix nix run clan-core failing inside direnv 2024-12-17 10:55:36 +11:00
Jörg Thalheim
e2ed57f8dd extract nix_test_store helper for sandbox builds 2024-12-05 11:38:58 +01:00
DavHau
44e6fe803f vars: make all python tests work in nix sandbox
- generate a flake.lock file for each template by copying the clan-core flake.lock and modifying it

- call nix build with --store for tests inside the sandbox
2024-11-27 14:32:02 +07:00
danjujan
75ffb4436e pkgs: fix typos 2024-10-29 12:37:34 +00:00
Jörg Thalheim
eb0643f920 fix nixpkgs command with latest nix version 2024-10-22 12:46:56 +02:00
Jörg Thalheim
196f78d2da abort tests on python warning 2024-10-01 20:54:19 +02:00
Johannes Kirschbauer
8bda488425 CLI: use abstract schema to avoid module imports 2024-09-15 18:42:50 +02:00
Johannes Kirschbauer
1a81c1f84b API: remove all python dataclasses for clanModules (services) 2024-09-12 16:19:51 +02:00
Jörg Thalheim
59c8b4f209 replace breakpoint() check with python lint 2024-09-02 13:36:07 +02:00
Jörg Thalheim
30bbb142e2 Merge remote-tracking branch 'origin/main' into rework-installation 2024-08-21 13:38:04 +02:00
a-kenji
0a58adce18 clan: remove config subcommand
This removes the `config` subcommand from the cli and the documentation
to keep the api surface small.

While this functionality was convenient it doesn't need to be surfaced
by the clan cli.

The remaining `config` python module should be ported to the `clan-app`
in a follow up pr. Because the functionality is currently only used by
the `clan-app`.
Ideally together with: #1830.
2024-07-31 16:35:36 +00:00
Johannes Kirschbauer
5d8fa57f23 Deserializer: replace pydantic 2024-07-30 12:26:16 +02:00
Jörg Thalheim
cc5546d79d Merge remote-tracking branch 'origin/main' into rework-installation 2024-07-30 11:52:36 +02:00
Johannes Kirschbauer
7a3fad01e0 PropagatedBuild inputs workaround 2024-07-26 15:23:25 +02:00
Johannes Kirschbauer
d7b6fc16a4 Serde: add unit tests for all serialization and deserialization logic 2024-07-26 14:23:41 +02:00
Jörg Thalheim
f04ed457db cli: default template url should come from the package itself rather than our gitea
This allow easier testing and also forks.
2024-07-22 08:22:58 +02:00
Johannes Kirschbauer
fbe27bfa0a Classgen: add mapped keys and more stuff 2024-07-18 21:58:36 +02:00
DavHau
e7d5a6f854 impure-checks: improve performance by disabling dynamic deps 2024-07-16 12:42:45 +07:00
DavHau
430adc875a clan-cli: improve runtime dependency management
Many dependencies of clan-cli  are currently dynamically loaded via nix-shell on each execution.
This is nice, as it reduces the initial closure size of clan, but the overhead introduced by nix-shell piles up quickly, as some commands shell out many times during their lifetime. For example, when adding a secret git is called 10+ times.

This reduces the time of a test which adds a secret from around 50 seconds to 15 seconds.

- add run_cmd() as an alternative to nix_shell()
- introduce the concept of static dependencies which do not need to go through nix-shell
- static dependencies are defined at build time and included into the wrapper for clan-cli
- add package: clan-cli-full which statically ships all required dependencies

TODO: deprecate nix_shell() in favor of run_cmd()
2024-07-11 15:34:41 +07:00
Jörg Thalheim
cb9fbc969b introduce minifakeroot that also works on macos 2024-06-27 18:53:10 +02:00
a-kenji
98b438754a clan: remove very obvious comments
Remove some very obvious comments as to not lose meaning of the
comments.

We want comments that convey non-obvious behavior so they will be
actually read.
2024-06-07 14:45:53 +02:00
a-kenji
ac7b30c43f clan: install shell completions for zsh 2024-06-06 23:20:54 +02:00
DavHau
0820c59df5 gui-installer: depend on git + ignore flake config 2024-05-29 17:42:44 +02:00
Qubasa
a3c94bc73b clan-cli: Fix nix develop not working in template because of symlink 2024-05-27 14:00:31 +02:00
Qubasa
b1dd5c2832 Add --ssh-pubkey FILE argument 2024-05-14 15:41:15 +02:00
DavHau
e09658c817 secrets: ensure all added/deleted files get committed 2024-04-24 17:26:32 +07:00
Qubasa
d6d8a88549 clan-vm-manager: Working pytest skeleton. clan-cli: Fixing devshell depending on itself 2024-03-24 23:36:00 +01:00
Jörg Thalheim
ede4d3f6e5 re-format with nixfmt 2024-03-17 19:48:49 +01:00