ci: Use persistent volumes for portage, binpkgs

Recompiling the entire OS for every build takes way too long for
development purposes.  Since we build binary packages anyway, let's keep
them around between builds by storing them on a Kubernetes persistent
volume.

Eventually, I want add a build parameter to wipe out the binary package
storage to force a from-scratch build.  We'll use that option for robust
periodic builds, once development has slowed down.
Dustin 2024-12-22 20:29:33 -06:00
parent fd925c3da0
commit 5726d2b76f
2 changed files with 21 additions and 4 deletions

View File

@ -21,12 +21,21 @@ spec:
name: workspace-volume
subPath: gentoo
- mountPath: /usr/aarch64-unknown-linux-gnu/var/cache/binpkgs
name: workspace-volume
subPath: binpkgs
name: binpkgs
subPath: photoframe2
- mountPath: /var/cache/binpkgs
name: workspace-volume
subPath: binpkgs
name: binpkgs
subPath: photoframe2
- mountPath: /var/cache/distfiles
name: workspace-volume
subPath: distfiles
- mountPath: /var/db/repos/gentoo
name: portage
hostUsers: false
volumes:
- name: binpkgs
persistentVolumeClaim:
claimName: binpkgs
- name: portage
persistentVolumeClaim:
claimName: portage

8
prepare.sh Normal file
View File

@ -0,0 +1,8 @@
#!/bin/sh
if [ ! -f /var/db/repos/gentoo/metadata/timestamp ]; then
emerge-webrsync
fi
if [ "$(find /var/db/repos/gentoo/metadata -newermt '-24 hours' | wc -l)" -eq 0 ]; then
emaint sync
fi