This commit is contained in:
Mateusz Gruszczyński committed 2026-11-03 10:29:41 +01:00
1 parent 60ec470f9f
commit fe2ad1590d
9 files changed
+186 -19

No files matched your search

+24 -2
View File
@@ -11,9 +11,31 @@ source /opt/rustbox-package-builder/scripts/lib.sh
: "${RUN_LINUX_TESTS:=compile}"
: "${MAX_GLIBC_VERSION:=2.34}"
: "${RELEASE_RETENTION:=10}"
export SOURCE_BRANCH POLL_INTERVAL REPO_DISTRIBUTION REPO_COMPONENT PACKAGE_RELEASE RUN_LINUX_TESTS MAX_GLIBC_VERSION RELEASE_RETENTION
mkdir -p "$DATA_DIR"/{state,repository,work,cargo,packages} /tmp/rustbox-gnupg
: "${PACKAGE_RETENTION:=10}"
: "${CLEAN_BUILD_CACHE:=1}"
: "${BUILD_TMP_DIR:=/tmp/rustbox-package-builder}"
require_positive_integer RELEASE_RETENTION "$RELEASE_RETENTION"
require_positive_integer PACKAGE_RETENTION "$PACKAGE_RETENTION"
export SOURCE_BRANCH POLL_INTERVAL REPO_DISTRIBUTION REPO_COMPONENT PACKAGE_RELEASE RUN_LINUX_TESTS MAX_GLIBC_VERSION RELEASE_RETENTION PACKAGE_RETENTION CLEAN_BUILD_CACHE BUILD_TMP_DIR
mkdir -p "$DATA_DIR"/{state,repository,work,packages} "$BUILD_TMP_DIR" /tmp/rustbox-gnupg
chmod 0700 /tmp/rustbox-gnupg
# Migration/maintenance cleanup for older builder versions which stored large
# cargo targets and package work directories on the persistent data volume.
rm -rf -- "$DATA_DIR/work/out" "$DATA_DIR/work/package" "$DATA_DIR/cargo/target"
rmdir "$DATA_DIR/cargo" 2>/dev/null || true
rm -rf -- "$BUILD_TMP_DIR/out" "$BUILD_TMP_DIR/package"
if is_true "$CLEAN_BUILD_CACHE"; then
rm -rf -- "$BUILD_TMP_DIR/cargo-target"
fi
# Apply file-level retention at startup as well, so stale raw package pools and
# old atomic release directories are reduced even before the next source build.
prune_package_files "$DATA_DIR/packages/deb" 'rustbox_*.deb' "$PACKAGE_RETENTION"
prune_package_files "$DATA_DIR/packages/rpm/x86_64" 'rustbox-*.x86_64.rpm' "$PACKAGE_RETENTION"
prune_package_files "$DATA_DIR/packages/suse/x86_64" 'rustbox-*.suse.x86_64.rpm' "$PACKAGE_RETENTION"
prune_release_dirs "$DATA_DIR/repository/releases" "$RELEASE_RETENTION" "$(readlink -f "$DATA_DIR/repository/current" 2>/dev/null || true)"
export GNUPGHOME=/tmp/rustbox-gnupg
GPG_PRIVATE_KEY_FILE=/run/secrets/gpg/private-key.asc
[[ -s "$GPG_PRIVATE_KEY_FILE" ]] || fatal "missing GPG private key: $GPG_PRIVATE_KEY_FILE"