Speedup static build by utilizing CI cache on /nix folder

Signed-off-by: Wong Hoi Sing Edison <hswong3i@gmail.com>
This commit is contained in:
Wong Hoi Sing Edison
2020-07-24 13:48:59 +08:00
parent f4d4bd2288
commit daaccf8896
2 changed files with 19 additions and 7 deletions

View File

@ -760,21 +760,33 @@ success_task:
static_build_task: static_build_task:
depends_on: depends_on:
- "gating" - "gating"
gce_instance: gce_instance:
image_name: "${FEDORA_CACHE_IMAGE_NAME}" image_name: "${FEDORA_CACHE_IMAGE_NAME}"
cpu: 8 cpu: 8
memory: 12 memory: 12
disk: 200 disk: 200
script: |
init_script: |
set -ex set -ex
setenforce 0 setenforce 0
growpart /dev/sda 1 || true growpart /dev/sda 1 || true
resize2fs /dev/sda1 || true resize2fs /dev/sda1 || true
yum -y install podman yum -y install podman
nix_cache:
folder: '.cache'
fingerprint_script: |
echo "nix-v1-$(sha1sum nix/nixpkgs.json | head -c 40)"
build_script: |
set -ex
mkdir -p /nix mkdir -p /nix
podman run --rm --privileged -ti -v /:/mnt nixos/nix cp -rfT /nix /mnt/nix mkdir -p .cache
mount --bind .cache /nix
if [[ -z $(ls -A /nix) ]]; then podman run --rm --privileged -ti -v /:/mnt nixos/nix cp -rfT /nix /mnt/nix; fi
podman run --rm --privileged -ti -v /nix:/nix -v ${PWD}:${PWD} -w ${PWD} nixos/nix nix --print-build-logs --option cores 8 --option max-jobs 8 build --file nix/ podman run --rm --privileged -ti -v /nix:/nix -v ${PWD}:${PWD} -w ${PWD} nixos/nix nix --print-build-logs --option cores 8 --option max-jobs 8 build --file nix/
chown -Rf $(whoami) .cache
binaries_artifacts: binaries_artifacts:
path: "result/bin/podman" path: "result/bin/podman"
on_failure:
failed_branch_script: '$CIRRUS_WORKING_DIR/$SCRIPT_BASE/notice_branch_failure.sh |& ${TIMESTAMP}'

View File

@ -1,7 +1,7 @@
{ {
"url": "https://github.com/nixos/nixpkgs", "url": "https://github.com/nixos/nixpkgs",
"rev": "02591d02a910b3b92092153c5f3419a8d696aa1d", "rev": "b49e7987632e4c7ab3a093fdfc433e1826c4b9d7",
"date": "2020-07-09T03:52:28+02:00", "date": "2020-07-26T09:18:52+02:00",
"sha256": "1pp9v4rqmgx1b298gxix8b79m8pvxy1rcf8l25rxxxxnkr5ls1ng", "sha256": "1mj6fy0p24izmasl653s5z4f2ka9v3b6mys45kjrqmkv889yk2r6",
"fetchSubmodules": false "fetchSubmodules": false
} }