diff --git a/.woodpecker/build-cache.yaml b/.woodpecker/build-cache.yaml index 258098fb..a8a4513b 100644 --- a/.woodpecker/build-cache.yaml +++ b/.woodpecker/build-cache.yaml @@ -30,23 +30,24 @@ steps: - nix build ".#nix" --print-build-logs --out-link nix --no-update-lock-file - nix profile remove lix - ./nix/bin/nix profile install ".#nix" --no-update-lock-file - - nix profile install ".#nix-fast-build" ".#attic-client" ".#jq" --no-update-lock-file + - nix profile install ".#nix-ci" ".#attic-client" ".#jq" --no-update-lock-file - nix --version - attic login default $${ATTIC_ENDPOINT} $${ATTIC_PUSH_TOKEN} - attic use $${ATTIC_CACHE} + - attic push $(nix build --print-build-logs --no-update-lock-file --no-link --print-out-paths) # - attic watch-store $${ATTIC_CACHE} & # - nix build .#nixosConfigurations.ds9.config.system.build.toplevel .#nixosConfigurations.picard.config.system.build.toplevel .#nixosConfigurations.theseus.config.system.build.toplevel # - nix flake archive --json . - - attic push xyno $(nix flake archive --json . | jq -r '[.. | .path? | select(. != null)] | unique | .[]') - - mkdir /tmp/reports - - nix-fast-build --debug --no-nom --skip-cached --result-file /tmp/reports/junit.xml --result-format junit --attic-cache $${ATTIC_CACHE} --flake .#hydraJobs.systems - - name: junit-reports - image: ghcr.io/wgroeneveld/woodpecker-ascii-junit:main - settings: - log-level: debug - path: /tmp/reports/**/*.xml - when: - status: [ - 'success', - 'failure', - ] + # - attic push xyno $(nix flake archive --json . | jq -r '[.. | .path? | select(. != null)] | unique | .[]') + # - mkdir /tmp/reports + - nix-ci --copy-to-attic $${ATTIC_CACHE} --flake-path .#hydraJobs.systems + # - name: junit-reports + # image: ghcr.io/wgroeneveld/woodpecker-ascii-junit:main + # settings: + # log-level: debug + # path: /tmp/reports/**/*.xml + # when: + # status: [ + # 'success', + # 'failure', + # ] diff --git a/flake.lock b/flake.lock index 9a2c9fd5..610fe805 100644 --- a/flake.lock +++ b/flake.lock @@ -435,6 +435,27 @@ "type": "github" } }, + "nix-ci": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ], + "rust-overlay": "rust-overlay_4" + }, + "locked": { + "lastModified": 1760110825, + "narHash": "sha256-ysGkA01DOa7ZDZms/tsxzJ6hrz9k4qDejbpL7bXWZtk=", + "ref": "refs/heads/main", + "rev": "f982e37fe5f64aa4b82f07ce622d6fb0c7ea23ce", + "revCount": 7, + "type": "git", + "url": "https://git.xyno.systems/xyno/nix-ci" + }, + "original": { + "type": "git", + "url": "https://git.xyno.systems/xyno/nix-ci" + } + }, "nixos-hardware": { "locked": { "lastModified": 1759582739, @@ -603,6 +624,7 @@ "mtxclient": "mtxclient", "nheko": "nheko", "niri": "niri", + "nix-ci": "nix-ci", "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs", "nixpkgs-master": "nixpkgs-master", @@ -676,6 +698,27 @@ } }, "rust-overlay_4": { + "inputs": { + "nixpkgs": [ + "nix-ci", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1760063676, + "narHash": "sha256-s5Fjh43skH2L+avOGioLmEHoYZffDbg3abV5h0gjeew=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "897deed0923cc5a1d560c5176abe0d172ec9716d", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, + "rust-overlay_5": { "inputs": { "nixpkgs": [ "xwayland-satellite", @@ -814,7 +857,7 @@ "nixpkgs": [ "nixpkgs-master" ], - "rust-overlay": "rust-overlay_4" + "rust-overlay": "rust-overlay_5" }, "locked": { "lastModified": 1759707084, diff --git a/flake.nix b/flake.nix index c018b397..df8f2e4c 100644 --- a/flake.nix +++ b/flake.nix @@ -35,6 +35,8 @@ nheko.flake = false; mtxclient.url = "github:Nheko-Reborn/mtxclient"; mtxclient.flake = false; + nix-ci.url = "git+https://git.xyno.systems/xyno/nix-ci"; + nix-ci.inputs.nixpkgs.follows = "nixpkgs"; # helix helix.url = "github:helix-editor/helix"; @@ -70,6 +72,7 @@ ); overlays = [ self.overlays.default + inputs.nix-ci.overlays.default (final: prev: { inherit (final.unstable.lixPackageSets.latest) nixpkgs-review @@ -148,7 +151,7 @@ in { nix = pkgs.unstable.lixPackageSets.latest.lix; - inherit (pkgs) nix-fast-build attic-client jq; + inherit (pkgs) nix-fast-build attic-client jq nix-ci; }; checks."x86_64-linux"."nixos" = let