fix(scripts): Refactor cache uploading
Some checks are pending
Run pre-commit on all files / pre-commit (push) Waiting to run
Check workflows / check_workflows (push) Successful in 27s
Check meta / check_dns (pull_request) Successful in 21s
Check meta / check_meta (pull_request) Successful in 19s
Check workflows / check_workflows (pull_request) Successful in 31s
Build all the nodes / ap01 (pull_request) Successful in 1m24s
Build all the nodes / bridge01 (pull_request) Successful in 1m55s
Build all the nodes / geo01 (pull_request) Successful in 2m13s
Build all the nodes / geo02 (pull_request) Successful in 2m1s
Build all the nodes / compute01 (pull_request) Successful in 2m20s
Build all the nodes / hypervisor01 (pull_request) Successful in 1m44s
Build all the nodes / netcore02 (pull_request) Successful in 29s
Build all the nodes / hypervisor02 (pull_request) Successful in 1m35s
Build all the nodes / hypervisor03 (pull_request) Successful in 1m45s
Build all the nodes / rescue01 (pull_request) Successful in 2m18s
Build all the nodes / storage01 (pull_request) Successful in 2m19s
Build all the nodes / web02 (pull_request) Successful in 2m6s
Build all the nodes / vault01 (pull_request) Successful in 2m23s
Build the shell / build-shell (pull_request) Successful in 35s
Run pre-commit on all files / pre-commit (pull_request) Successful in 34s
Build all the nodes / web03 (pull_request) Successful in 1m47s
Build all the nodes / web01 (pull_request) Successful in 2m42s
Some checks are pending
Run pre-commit on all files / pre-commit (push) Waiting to run
Check workflows / check_workflows (push) Successful in 27s
Check meta / check_dns (pull_request) Successful in 21s
Check meta / check_meta (pull_request) Successful in 19s
Check workflows / check_workflows (pull_request) Successful in 31s
Build all the nodes / ap01 (pull_request) Successful in 1m24s
Build all the nodes / bridge01 (pull_request) Successful in 1m55s
Build all the nodes / geo01 (pull_request) Successful in 2m13s
Build all the nodes / geo02 (pull_request) Successful in 2m1s
Build all the nodes / compute01 (pull_request) Successful in 2m20s
Build all the nodes / hypervisor01 (pull_request) Successful in 1m44s
Build all the nodes / netcore02 (pull_request) Successful in 29s
Build all the nodes / hypervisor02 (pull_request) Successful in 1m35s
Build all the nodes / hypervisor03 (pull_request) Successful in 1m45s
Build all the nodes / rescue01 (pull_request) Successful in 2m18s
Build all the nodes / storage01 (pull_request) Successful in 2m19s
Build all the nodes / web02 (pull_request) Successful in 2m6s
Build all the nodes / vault01 (pull_request) Successful in 2m23s
Build the shell / build-shell (pull_request) Successful in 35s
Run pre-commit on all files / pre-commit (pull_request) Successful in 34s
Build all the nodes / web03 (pull_request) Successful in 1m47s
Build all the nodes / web01 (pull_request) Successful in 2m42s
This commit is contained in:
parent
2132ef08d9
commit
de08f79cca
7 changed files with 35 additions and 37 deletions
|
@ -8,7 +8,7 @@ jobs:
|
|||
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
|
||||
STORE_USER: admin
|
||||
name: Build and cache shell
|
||||
run: nix-shell -A eval-shell --run "nix-cache -A devShell"
|
||||
run: nix-shell -A eval-shell --run "nix-instantiate-and-cache -A devShell"
|
||||
name: Build the shell
|
||||
on:
|
||||
pull_request:
|
||||
|
|
|
@ -180,7 +180,7 @@ in
|
|||
pre-commit.shellHook = git-checks.shellHook;
|
||||
check-workflows.shellHook = workflows.shellHook;
|
||||
eval-nodes.packages = [ scripts.cache-node ];
|
||||
eval-shell.packages = [ scripts.nix-cache ];
|
||||
eval-shell.packages = [ scripts.nix-instantiate-and-cache ];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -35,23 +35,4 @@ esac
|
|||
drv=$(colmena eval --instantiate -E "{ nodes, ... }: nodes.${BUILD_NODE}.${toplevel_path}" --show-trace)
|
||||
|
||||
# Build the derivation and send it to the great beyond
|
||||
nix-store --query --requisites --force-realise --include-outputs "$drv" | grep -v '.*\.drv' >paths.txt
|
||||
|
||||
if [ "$STORE_PASSWORD" == "" ]; then
|
||||
echo "No password given for the remote cache, uploading cannot take place."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
cat <<EOF >.netrc
|
||||
default
|
||||
login $STORE_USER
|
||||
password $STORE_PASSWORD
|
||||
EOF
|
||||
|
||||
nix copy \
|
||||
--extra-experimental-features nix-command \
|
||||
--to "$STORE_ENDPOINT?compression=none" \
|
||||
--netrc-file .netrc \
|
||||
"$(nix-store --realise "$drv")"
|
||||
|
||||
rm .netrc
|
||||
nix-cache "$drv"
|
||||
|
|
|
@ -20,8 +20,12 @@ let
|
|||
;
|
||||
|
||||
scripts = {
|
||||
cache-node = [ colmena ];
|
||||
nix-cache = [ colmena ];
|
||||
cache-node = [
|
||||
colmena
|
||||
self.nix-cache
|
||||
];
|
||||
nix-cache = [ ];
|
||||
nix-instantiate-and-cache = [ self.nix-cache ];
|
||||
check-deployment = [
|
||||
colmena
|
||||
jq
|
||||
|
@ -30,13 +34,14 @@ let
|
|||
launch-vm = [ colmena ];
|
||||
list-nodes = [ jq ];
|
||||
};
|
||||
|
||||
self = mapAttrs (
|
||||
name: runtimeInputs:
|
||||
writeShellApplication {
|
||||
inherit name runtimeInputs;
|
||||
|
||||
text = builtins.readFile ./${name}.sh;
|
||||
}
|
||||
) scripts;
|
||||
in
|
||||
|
||||
mapAttrs (
|
||||
name: runtimeInputs:
|
||||
writeShellApplication {
|
||||
inherit name runtimeInputs;
|
||||
|
||||
text = builtins.readFile ./${name}.sh;
|
||||
}
|
||||
) scripts
|
||||
self
|
||||
|
|
|
@ -6,8 +6,15 @@
|
|||
|
||||
# Build the derivation and send it to the great beyond
|
||||
|
||||
drv=$(nix-instantiate "$@")
|
||||
nix-store --query --requisites --force-realise --include-outputs "$drv" | grep -v '.*\.drv' > paths.txt
|
||||
if [ $# -eq 0 ]; then
|
||||
echo "No arguments provided. Please provide a drv path."
|
||||
exit 1
|
||||
elif [ $# -gt 1 ]; then
|
||||
echo "Too many arguments provided."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
nix-store --query --requisites --force-realise --include-outputs "$1" | grep -v '.*\.drv' > paths.txt
|
||||
|
||||
if [ "$STORE_PASSWORD" == "" ]; then
|
||||
echo "No password given for the remote cache, uploading cannot take place."
|
||||
|
@ -24,6 +31,6 @@ nix copy \
|
|||
--extra-experimental-features nix-command \
|
||||
--to "$STORE_ENDPOINT?compression=none" \
|
||||
--netrc-file .netrc \
|
||||
"$(nix-store --realise "$drv")"
|
||||
"$(nix-store --realise "$1")"
|
||||
|
||||
rm .netrc
|
||||
|
|
5
scripts/nix-instantiate-and-cache.sh
Normal file
5
scripts/nix-instantiate-and-cache.sh
Normal file
|
@ -0,0 +1,5 @@
|
|||
# SPDX-FileCopyrightText: 2024 Maurice Debray <maurice@dgnum.eu>
|
||||
#
|
||||
# SPDX-License-Identifier: EUPL-1.2
|
||||
|
||||
nix-cache "$(nix-instantiate "$@")"
|
|
@ -16,7 +16,7 @@
|
|||
{ uses = "actions/checkout@v3"; }
|
||||
{
|
||||
name = "Build and cache shell";
|
||||
run = "nix-shell -A eval-shell --run \"nix-cache -A devShell\"";
|
||||
run = ''nix-shell -A eval-shell --run "nix-instantiate-and-cache -A devShell"'';
|
||||
env = {
|
||||
STORE_ENDPOINT = "https://tvix-store.dgnum.eu/infra-signing/";
|
||||
STORE_USER = "admin";
|
||||
|
|
Loading…
Reference in a new issue