infrastructure/workflows/eval-nodes.nix
catvayor 1bc03e83e8
All checks were successful
Check meta / check_dns (pull_request) Successful in 18s
Check meta / check_meta (pull_request) Successful in 18s
Check workflows / check_workflows (pull_request) Successful in 20s
Build all the nodes / netcore01 (pull_request) Successful in 30s
Build all the nodes / netcore00 (pull_request) Successful in 31s
Build all the nodes / netcore02 (pull_request) Successful in 32s
Build all the nodes / netaccess01 (pull_request) Successful in 34s
Build all the nodes / ap01 (pull_request) Successful in 46s
Build the shell / build-shell (pull_request) Successful in 27s
Run pre-commit on all files / pre-commit (pull_request) Successful in 32s
Build all the nodes / bridge01 (pull_request) Successful in 1m7s
Build all the nodes / geo02 (pull_request) Successful in 1m10s
Build all the nodes / build01 (pull_request) Successful in 1m22s
Build all the nodes / tower01 (pull_request) Successful in 1m28s
Build all the nodes / geo01 (pull_request) Successful in 1m33s
Build all the nodes / hypervisor03 (pull_request) Successful in 1m34s
Build all the nodes / rescue01 (pull_request) Successful in 1m34s
Build all the nodes / storage01 (pull_request) Successful in 1m38s
Build all the nodes / hypervisor01 (pull_request) Successful in 1m43s
Build all the nodes / hypervisor02 (pull_request) Successful in 1m44s
Build all the nodes / vault01 (pull_request) Successful in 1m34s
Build all the nodes / web02 (pull_request) Successful in 1m35s
Build all the nodes / web03 (pull_request) Successful in 1m35s
Build all the nodes / cof02 (pull_request) Successful in 1m54s
Build all the nodes / compute01 (pull_request) Successful in 1m59s
Build all the nodes / web01 (pull_request) Successful in 1m44s
Check workflows / check_workflows (push) Successful in 17s
Build all the nodes / ap01 (push) Successful in 38s
Build all the nodes / bridge01 (push) Successful in 1m1s
Build all the nodes / build01 (push) Successful in 1m4s
Build all the nodes / cof02 (push) Successful in 1m10s
Build all the nodes / hypervisor02 (push) Successful in 57s
Build all the nodes / netaccess01 (push) Successful in 23s
Build all the nodes / netcore00 (push) Successful in 24s
Build all the nodes / compute01 (push) Successful in 1m34s
Build all the nodes / netcore01 (push) Successful in 25s
Build all the nodes / netcore02 (push) Successful in 23s
Build all the nodes / hypervisor03 (push) Successful in 59s
Build all the nodes / geo02 (push) Successful in 1m50s
Build all the nodes / geo01 (push) Successful in 1m50s
Build all the nodes / hypervisor01 (push) Successful in 1m50s
Build all the nodes / rescue01 (push) Successful in 1m3s
Build the shell / build-shell (push) Successful in 37s
Run pre-commit on all files / pre-commit (push) Successful in 40s
Build all the nodes / storage01 (push) Successful in 1m5s
Build all the nodes / tower01 (push) Successful in 1m5s
Build all the nodes / web02 (push) Successful in 1m7s
Build all the nodes / vault01 (push) Successful in 1m15s
Build all the nodes / web01 (push) Successful in 1m25s
Build all the nodes / web03 (push) Successful in 1m46s
feat(workflows/eval-nodes): separate workflow in multiple stage
2025-04-25 00:30:45 +02:00

59 lines
1.3 KiB
Nix

# SPDX-FileCopyrightText: 2024 Tom Hubrecht <tom.hubrecht@dgnum.eu>
#
# SPDX-License-Identifier: EUPL-1.2
{ lib, nix-actions }:
let
inherit (lib) attrNames genAttrs;
nodes = attrNames (import ../meta lib).nodes;
in
{
name = "Build all the nodes";
on = {
pull_request.branches = [ "main" ];
push.branches = [ "main" ];
};
jobs = genAttrs nodes (node: {
runs-on = "nix";
steps = [
{ uses = "actions/checkout@v3"; }
{
name = "Eval ${node}";
run = nix-actions.lib.nix-shell {
script = ''
DRV="$(instantiate-node)"
echo "DRV=$DRV" >> $GITHUB_ENV
'';
shell = "eval-nodes";
};
env.BUILD_NODE = node;
}
{
name = "Build ${node}";
run = # bash
''
STORE_PATH="$(nix-store --realise "$DRV")"
echo "STORE_PATH=$STORE_PATH" >> $GITHUB_ENV
'';
}
{
name = "Cache ${node}";
run = nix-actions.lib.nix-shell {
script = ''
push-to-cache "$STORE_PATH"
'';
shell = "eval-nodes";
};
env = {
STORE_ENDPOINT = "https://tvix-store.dgnum.eu/infra-signing/";
STORE_USER = "admin";
STORE_PASSWORD = nix-actions.lib.secret "STORE_PASSWORD";
};
}
];
});
}