diff --git a/.forgejo/workflows/check.yml b/.forgejo/workflows/check.yml index 3479450..0a62d11 100644 --- a/.forgejo/workflows/check.yml +++ b/.forgejo/workflows/check.yml @@ -18,20 +18,7 @@ jobs: # Prevent cache garbage collection by creating GC roots mkdir -p /var/lib/gitea-runner/tankstelle/.local/state/nix/results - for target in $(nix flake show --json --all-systems | jq --raw-output ' - .["nixosConfigurations"] | - to_entries[] | - .key' - ); do - nix --print-build-logs --verbose --accept-flake-config --access-tokens '' \ - build --out-link /var/lib/gitea-runner/tankstelle/.local/state/nix/results/"$target" ".#nixosConfigurations.${target}.config.system.build.toplevel" - done - - for check in $(nix flake show --json --all-systems | jq --raw-output ' - .checks."x86_64-linux" | - to_entries[] | - .key' - ); do - nix --print-build-logs --verbose --accept-flake-config --access-tokens '' \ - build --out-link /var/lib/gitea-runner/tankstelle/.local/state/nix/results/"$check" ".#checks.x86_64-linux.${check}" - done + sed -i 's/virtualisation.cores .*/virtualisation.cores = 16;/' tests/keycloak.nix + sed -i 's/virtualisation.memorySize .*/virtualisation.memorySize = 16384;/' tests/keycloak.nix + # 1 eval-worker needs about 13GB of memory + nix --accept-flake-config --access-tokens '' develop --command nix-fast-build --no-nom --skip-cached --systems "x86_64-linux" --max-jobs 10 --eval-workers 2 --out-link /var/lib/gitea-runner/tankstelle/.local/state/nix/results/nix-fast-build diff --git a/flake.lock b/flake.lock index 07aae0c..988b74d 100644 --- a/flake.lock +++ b/flake.lock @@ -236,16 +236,16 @@ }, "fork": { "locked": { - "lastModified": 1729963002, - "narHash": "sha256-2zrYfd/qdfExU5zVwvH80uJnKc/dMeK6zp3O1UtW2Mo=", + "lastModified": 1738846146, + "narHash": "sha256-cIPiBEspPXQxju2AUZK9kjh6oqea+HkPFqmGv7yUztM=", "owner": "teutat3s", "repo": "nixpkgs", - "rev": "005faaacbeede0296dec5c844f508027ab8a3ff6", + "rev": "e370f40b129e47b08562524ab4f053a172a94273", "type": "github" }, "original": { "owner": "teutat3s", - "ref": "init-matrix-authentication-service-module", + "ref": "init-matrix-authentication-service-module-0.13.0", "repo": "nixpkgs", "type": "github" } diff --git a/flake.nix b/flake.nix index c7f18a6..495eafa 100644 --- a/flake.nix +++ b/flake.nix @@ -3,7 +3,7 @@ # Track channels with commits tested and built by hydra nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11"; unstable.url = "github:nixos/nixpkgs/nixos-unstable"; - fork.url = "github:teutat3s/nixpkgs/init-matrix-authentication-service-module"; + fork.url = "github:teutat3s/nixpkgs/init-matrix-authentication-service-module-0.13.0"; nix-darwin.url = "github:lnl7/nix-darwin/master"; nix-darwin.inputs.nixpkgs.follows = "nixpkgs"; @@ -78,6 +78,24 @@ checks = let + machinesPerSystem = { + aarch64-linux = [ + "metronom" + ]; + x86_64-linux = [ + "blue-shell" + "delite" + "nachtigall" + "tankstelle" + "trinkgenossin" + "underground" + ]; + }; + nixosMachines = inputs.nixpkgs.lib.mapAttrs' (n: inputs.nixpkgs.lib.nameValuePair "nixos-${n}") ( + inputs.nixpkgs.lib.genAttrs (machinesPerSystem.${system} or [ ]) ( + name: self.nixosConfigurations.${name}.config.system.build.toplevel + ) + ); nixos-lib = import (inputs.nixpkgs + "/nixos/lib") { }; testDir = builtins.attrNames (builtins.readDir ./tests); testFiles = builtins.filter (n: builtins.match "^.*.nix$" n != null) testDir; @@ -94,12 +112,13 @@ } ); }) testFiles - ); + ) + // nixosMachines; devShells.default = pkgs.mkShell { buildInputs = with pkgs; [ deploy-rs - nixpkgs-fmt + nix-fast-build agenix age-plugin-yubikey cachix diff --git a/overlays/default.nix b/overlays/default.nix index af9faa9..02185db 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -10,8 +10,10 @@ final: prev: let unstable = import inputs.unstable { system = prev.system; }; + fork = import inputs.fork { system = prev.system; }; in { + matrix-authentication-service = fork.matrix-authentication-service; element-themes = prev.callPackage ./pkgs/element-themes { inherit (inputs) element-themes; }; element-stickerpicker = prev.callPackage ./pkgs/element-stickerpicker { inherit (inputs) element-stickers maunium-stickerpicker; diff --git a/tests/keycloak.nix b/tests/keycloak.nix index 9f5241b..0d4a825 100644 --- a/tests/keycloak.nix +++ b/tests/keycloak.nix @@ -46,6 +46,7 @@ in systemd.tmpfiles.rules = [ "f /tmp/dbf 1777 root root 10d password" ]; + virtualisation.cores = 1; virtualisation.memorySize = 4096; pub-solar-os.auth = { diff --git a/tests/website.nix b/tests/website.nix index 6d4f46d..db3a0aa 100644 --- a/tests/website.nix +++ b/tests/website.nix @@ -31,6 +31,7 @@ ./support/global.nix ]; + virtualisation.cores = 1; virtualisation.memorySize = 4096; networking.interfaces.eth0.ipv4.addresses = [