This commit is contained in:
Jack O'Sullivan 2023-11-17 15:39:31 +00:00
parent 30d07385e6
commit 241abd02ac
4 changed files with 32 additions and 12 deletions

View File

@ -6,7 +6,7 @@ on:
jobs:
check:
name: Check Nix flake
name: Check, build and cache Nix flake
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
@ -27,10 +27,14 @@ jobs:
nix run .#nixpkgs.mine.x86_64-linux.attic-client -- \
login --set-default colony https://nix-cache.nul.ie "${{ secrets.NIX_CACHE_TOKEN }}"
# - name: Check flake
# run: nix flake check
- name: Check and build flake
id: build
run: |
nix flake check
path=$(nix build --no-link .#ci.x86_64-linux --json | jq -r .[0].outputs.out)
echo "path=$path" >> "$GITHUB_OUTPUT"
- name: Push to cache
run: |
path=$(nix build --no-link .#nixosConfigurations.middleman.config.system.build.toplevel --json | jq -r .[0].outputs.out)
nix run .#nixpkgs.mine.x86_64-linux.attic-client -- \
push main $path
push main ${{ steps.build.outputs.path }}

View File

@ -51,8 +51,8 @@
...
}:
let
inherit (builtins) mapAttrs;
inherit (lib) genAttrs recurseIntoAttrs evalModules;
inherit (builtins) mapAttrs replaceStrings;
inherit (lib) mapAttrs' filterAttrs nameValuePair recurseIntoAttrs evalModules;
inherit (lib.flake) flattenTree eachDefaultSystem;
inherit (lib.my) mkDefaultSystemsPkgs flakePackageOverlay;
@ -164,16 +164,34 @@
pkgs = pkgs'.mine.${system};
lib = pkgs.lib;
filterSystem = filterAttrs (_: c: c.config.nixpkgs.system == system);
homes' =
mapAttrs
(_: h: h.activationPackage)
(filterSystem self.homeConfigurations);
systems' =
mapAttrs
(_: h: h.config.system.build.toplevel)
(filterSystem self.nixosConfigurations);
shell = pkgs.devshell.mkShell ./devshell;
in
# Stuff for each platform
{
checks = flattenTree {
homeConfigurations = recurseIntoAttrs (mapAttrs (_: h: h.activationPackage)
(lib.filterAttrs (_: h: h.config.nixpkgs.system == system) self.homeConfigurations));
homeConfigurations = recurseIntoAttrs homes';
deploy = recurseIntoAttrs (pkgs.deploy-rs.lib.deployChecks self.deploy);
};
ci =
let
homes =
mapAttrs'
(n: v: nameValuePair ''home-${replaceStrings ["@"] ["-at-"] n}'' v)
homes';
systems = mapAttrs' (n: v: nameValuePair "system-${n}" v) systems';
in
pkgs.linkFarm "ci" (homes // systems);
packages = flattenTree (import ./pkgs { inherit lib pkgs; });
devShells.default = shell;

View File

@ -412,7 +412,6 @@ in
nixCacheableRegex = ''^\/(\S+\.narinfo|nar\/\S+\.nar\.\S+)$'';
nixCacheHeaders = ''
proxy_hide_header "X-Amz-Request-Id";
add_header Cache-Control $nix_cache_control;
add_header Expires $nix_expires;
'';
@ -448,7 +447,6 @@ in
};
};
useACMEHost = pubDomain;
onlySSL = false;
};
};

View File

@ -162,7 +162,7 @@ in
type = "s3";
region = "eu-central-1";
bucket = "nix-attic";
endpoint = "http://localhost:9000";
endpoint = "https://s3.nul.ie";
};
chunking = {
nar-size-threshold = 65536;