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.main
parent
4ded67f1f4
commit
735600a31f
|
@ -9,6 +9,12 @@ pipeline {
|
|||
}
|
||||
|
||||
stages {
|
||||
stage('Prepare') {
|
||||
steps {
|
||||
sh '. ./prepare.sh'
|
||||
}
|
||||
}
|
||||
|
||||
stage('Build') {
|
||||
steps {
|
||||
sh 'env -i PATH="${PATH}" make -C aimee-os CONFIGDIR=${PWD} O=/build'
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
Loading…
Reference in New Issue