diff --git a/.cirrus.yml b/.cirrus.yml index 3ac3f61..5f82269 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -39,4 +39,4 @@ task: build_script: - echo "sandbox = true" >> /etc/nix/nix.conf - export NIX_PATH="nixpkgs=$(nix eval --raw -f pkgs/nixpkgs-pinned.nix $nixpkgs)" - - nix run -f '' bash cachix -c ./ci/build.sh + - nix run -f '' bash coreutils cachix -c ./ci/build.sh diff --git a/ci/build-to-cachix.sh b/ci/build-to-cachix.sh index ab99535..73a8260 100755 --- a/ci/build-to-cachix.sh +++ b/ci/build-to-cachix.sh @@ -13,11 +13,17 @@ trap 'echo Error at line $LINENO' ERR atExit() { rm -rf $tmpDir - if [[ -v cachixPid ]]; then kill $cachixPid; fi + if [[ -v cachixPid ]]; then stopCachix; fi } tmpDir=$(mktemp -d -p /tmp) trap atExit EXIT +stopCachix() { + kill $cachixPid 2>/dev/null || true + # Wait for cachix to finish + tail --pid=$cachixPid -f /dev/null +} + ## Instantiate time nix-instantiate "$@" --add-root $tmpDir/drv --indirect > /dev/null @@ -44,6 +50,7 @@ fi nix-build --out-link $tmpDir/result $tmpDir/drv >/dev/null if [[ $CACHIX_SIGNING_KEY ]]; then + stopCachix cachix push $cachixCache $outPath fi