- Switched from systemd path monitoring to a custom wrapper script `mxos-trigger-dist-repo.sh` spawned by the Koji signing spooler. - Wrapper script runs Koji `dist-repo` synchronously and triggers the `mxos-repo-sync.sh` script to perform an atomic rsync of packages to the Caddy server. - Excluded reposerver from distro-sync to work around VM disk space constraints. - Configured Koji tag `mxos0` to cancel older pending/running `distRepo` tasks when a new one is triggered. - Verified successful repository generation, synchronization, and DNF resolution. Co-developed-by: Gemini AI <renich+gemini@woralelandia.com> Signed-off-by: Rénich Bon Ćirić <renich@woralelandia.com>
22 lines
779 B
Django/Jinja
22 lines
779 B
Django/Jinja
#!/usr/bin/bash
|
|
# SPDX-License-Identifier: MIT-0
|
|
set -euo pipefail
|
|
|
|
TAG="{{ koji_build_tag }}"
|
|
KEY_ID="$1"
|
|
LOG_FILE="/var/log/mxos-dist-repo-trigger.log"
|
|
|
|
# Log all output to log file
|
|
exec > >(tee -a "$LOG_FILE") 2>&1
|
|
|
|
echo "[$(date -Iseconds)] Triggering dist-repo for tag $TAG with key $KEY_ID..."
|
|
|
|
# Run dist-repo task in Koji and wait for it to complete
|
|
if /usr/bin/sudo -u kojiadmin /usr/bin/koji dist-repo "$TAG" "$KEY_ID" \
|
|
--with-src --split-debuginfo --write-signed-rpms --allow-missing-signatures --wait; then
|
|
echo "[$(date -Iseconds)] dist-repo completed successfully. Invoking repository synchronization..."
|
|
/usr/local/bin/mxos-repo-sync.sh
|
|
else
|
|
echo "[$(date -Iseconds)] dist-repo task failed. Skipping repository synchronization." >&2
|
|
exit 1
|
|
fi
|