Commit Graph

79 Commits

Author SHA1 Message Date
DavHau
1e8864b9ec ci performance: add check to ensure nothing depends on the whole repo
Since this project is an ever growing monorepo, having derivations depending on the whole repo leads to bad CI performance, as the cache is busted on every commit.

-> We never want any derivations depend on the whole repo

...except: the test that tests that nothing depends on the whole repo, which is added by this commit.

For now only add this check to packages to allow contributors to build it locally.
We might want to add it to the CI later once all occurrences are fixed.
2025-04-30 13:17:33 +07:00
Michael Hoang
c3842902ac cli: don't use select from clanLib 2025-04-28 12:52:00 +10:00
Michael Hoang
4c2584e246 lib: move select.select -> select for backwards compat with old CLIs 2025-04-25 17:30:06 +10:00
lassulus
b0fca138bb clan-cli flake-module: get select from new lib location 2025-04-25 16:26:45 +10:00
Jörg Thalheim
59125a8f42 devshell/clan-cli: fix CLAN_PROVIDED_PACKAGES having too many packages 2025-04-21 15:18:14 +02:00
Jörg Thalheim
435627d854 rename CLAN_STATIC_PROGRAMS -> CLAN_PROVIDED_PACKAGES 2025-04-16 18:27:01 +00:00
Johannes Kirschbauer
7a72ff5297 chore(clan/cli): remove explizit dependency on jsonschema converter.
Regenerating the classes from json schema as part of the clan/cli is a bit redundant since we need to vendor the classes by hand anyways
The user can also not practically override the inventory options
I would disable this for now; until we really need it.
We now solely rely on CI checks failing if the classes are out of sync
2025-04-10 22:58:30 +02:00
Qubasa
3fbc661ed9 clan-cli: Change shellcheck to shellcheck-minimal 2025-04-10 01:54:00 +02:00
Johannes Kirschbauer
e37f16f47a treewide(clanLib): rename all occurences of {clan-core,self}.lib to 'clanLib' 2025-04-09 11:32:46 +02:00
Johannes Kirschbauer
12b88cd19b feat(classgen): convert only certain attributes 2025-03-29 14:22:34 +01: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
385be1ea7c cli: fix build on macOS 2025-02-10 17:41:50 +07:00
DavHau
5ce72dd261 tests: reduce unnecessary rebuilds of several tests
Some test were referring to the whole source code via ${self} which amde them rebuild on every single commit.

This is not mitigated by introduceing `self.filter { include = [...]; }` allowin to a content addressed subset of the source code in tests.
2025-01-17 17:00:18 +07:00
Qubasa
c6d5eb5037 clan-app: Fix default.nix 2025-01-11 10:52:22 +07: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
Johannes Kirschbauer
46836496aa Clan-ts-api: filter out reserved tags from typescript, library generates invalid types 2024-11-08 15:55:37 +01:00
Johannes Kirschbauer
08d26b9463 Inventory/schemas: move all schemas to legacyPackages 2024-10-09 13:27:09 +02:00
Johannes Kirschbauer
666f87e7e4 Inventory/schemas: use less schema versions 2024-10-09 13:27:09 +02:00
Jörg Thalheim
8ecaffcd8c remove unused lib.trace from flake 2024-10-09 12:37:21 +02:00
Johannes Kirschbauer
27768aa04b Update: inventory classes check 2024-09-16 12:52:28 +00:00
Johannes Kirschbauer
8bda488425 CLI: use abstract schema to avoid module imports 2024-09-15 18:42:50 +02:00
Johannes Kirschbauer
406c88907d UI: include inventory schema and generated types 2024-09-12 18:22:46 +02:00
Johannes Kirschbauer
1a81c1f84b API: remove all python dataclasses for clanModules (services) 2024-09-12 16:19:51 +02:00
Johannes Kirschbauer
be9a398ae3 Clan-cli: fix class update instruction 2024-09-12 09:28:16 +02:00
Johannes Kirschbauer
9eb56f274b API: types schema improve typescript performance 2024-09-02 18:03:44 +02:00
Johannes Kirschbauer
7a3fad01e0 PropagatedBuild inputs workaround 2024-07-26 15:23:25 +02:00
Johannes Kirschbauer
a4b1a0eb47 Commit generated code otherwise CI cannot check types 2024-07-19 09:52:14 +02:00
Johannes Kirschbauer
fbe27bfa0a Classgen: add mapped keys and more stuff 2024-07-18 21:58:36 +02:00
Johannes Kirschbauer
b752d2eb67 Init: Autogenerate classes from nix interfaces 2024-07-18 19:14:12 +02: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
DavHau
941cf9fb9d vars: implement generating public variables via in_repo 2024-07-09 14:26:56 +07:00
DavHau
c9485fb3fd devShells: make all shells inherit from default shell
Currently, important tools from the default shell are lost as soon as select-shell is used to switch to another shell. select-shell itself, for example is missing, which makes it impossible to switch back to another shell.
2024-07-05 15:01:25 +07:00
Johannes Kirschbauer
8d77525664 clan ui: setup typed api method 2024-05-20 19:34:49 +02:00
Qubasa
b1dd5c2832 Add --ssh-pubkey FILE argument 2024-05-14 15:41:15 +02:00
a-kenji
a50aaa34c3 clan-cli(docs): modularize in preparation for manpage generation 2024-05-14 12:18:37 +02:00
Johannes Kirschbauer
d7f3b6a1e0 cli-docs: add automatic markdown cli docs 2024-05-07 13:26:33 +02:00
Jörg Thalheim
ede4d3f6e5 re-format with nixfmt 2024-03-17 19:48:49 +01:00
Qubasa
001a48da52 Removed python deal. 2023-12-30 23:10:43 +01:00
Jörg Thalheim
41b5e88808 use nix-unit from nixpkgs 2023-12-15 12:36:07 +01:00
Qubasa
999747c5fc Deleted everything webui 2023-12-14 18:47:14 +01:00
Qubasa
5d42756f58 Fixed democlan dep 2023-12-09 00:21:33 +01:00
Qubasa
b60aef97f9 Removed democlan dependency 2023-12-09 00:19:30 +01:00
Qubasa
4506202a82 Added clan flakes inspect command. Improved ClanURI. Added democlan as dependency in flake.nix 2023-12-09 00:09:21 +01:00
Jörg Thalheim
d394792238 openapi: put a static version into the repository
This avoids a lot of rebuilds and we can also track api changes better
2023-11-24 15:56:27 +01:00
Qubasa
ad4032e214 schemathesis: Add as runnable application instead of library to resolve httpx dependency collision issue 2023-11-20 17:14:12 +01:00
Jörg Thalheim
5d36878206 drop schemathesis
This creates conflicting python packages when included
2023-11-15 16:48:46 +01:00
Jörg Thalheim
6c2daab266 rename luispkgs to nixpkgs-for-deal 2023-11-10 13:14:06 +01:00
DavHau
fc1591a0a8 api/schema: get schema without having a machine
Also done:
- add @pytest.mark.with_core indicating that a test depends on clan-core and cannot be cached
- separate unit tests into two derivations, ones that can be cached and ones that cannot.
- fix frontend typescript code
2023-11-09 15:30:25 +07:00
Qubasa
e565c0527c Added schemathesis dependency 2023-11-08 19:56:05 +01:00
Qubasa
dbe32b5e72 Flake: Added python package deal as dependency 2023-11-08 19:55:11 +01:00