summaryrefslogtreecommitdiff
path: root/.forgejo/workflows/build-gnome.yml
diff options
context:
space:
mode:
Diffstat (limited to '.forgejo/workflows/build-gnome.yml')
-rw-r--r--.forgejo/workflows/build-gnome.yml28
1 files changed, 18 insertions, 10 deletions
diff --git a/.forgejo/workflows/build-gnome.yml b/.forgejo/workflows/build-gnome.yml
index 4f1ac23..33c9989 100644
--- a/.forgejo/workflows/build-gnome.yml
+++ b/.forgejo/workflows/build-gnome.yml
@@ -9,8 +9,8 @@ on:
workflow_dispatch:
concurrency:
- group: raveos-gnome50-build
- cancel-in-progress: true
+ group: raveos-repo-publish
+ cancel-in-progress: false
jobs:
build:
@@ -30,11 +30,12 @@ jobs:
- name: Fetch core repo via rsync
run: |
set -euo pipefail
- RSYNC_SSH="ssh -p 2222 -i $HOME/.ssh/vps_backup_key -o StrictHostKeyChecking=no"
+ RSYNC_SSH="ssh -p 2222 -i $HOME/.ssh/vps_backup_key -o StrictHostKeyChecking=accept-new -o BatchMode=yes"
rm -rf /tmp/raveos-core-repo
mkdir -p /tmp/raveos-core-repo/x86_64
rsync -az -e "$RSYNC_SSH" \
- root@10.66.66.1:/root/docker/repo/repo/x86_64/ /tmp/raveos-core-repo/x86_64/ || true
+ root@10.66.66.1:/root/docker/repo/repo/x86_64/ /tmp/raveos-core-repo/x86_64/
+ test -f /tmp/raveos-core-repo/x86_64/raveos-core-repo.db.tar.xz
mkdir -p /tmp/builtpkgs
- name: Import GPG signing key
@@ -105,13 +106,17 @@ jobs:
run: |
set -euo pipefail
export GNUPGHOME=/tmp/raveos-gnupg
+ PASSFILE=$(mktemp)
+ chmod 600 "$PASSFILE"
+ printf '%s' "${{ secrets.GPG_PRIVATE_KEY_PASSPHRASE }}" > "$PASSFILE"
for pkg in /tmp/builtpkgs/*.pkg.tar.zst; do
[ -f "$pkg" ] || continue
gpg --batch --yes --pinentry-mode loopback \
- --passphrase "${{ secrets.GPG_PRIVATE_KEY_PASSPHRASE }}" \
+ --passphrase-file "$PASSFILE" \
--local-user 25C7668F1235F5664F037671BDB2A9CE6EBFF113 \
--detach-sign --no-armor "$pkg"
done
+ rm -f "$PASSFILE"
- name: Update repo database and sync to VPS
run: |
@@ -124,9 +129,8 @@ jobs:
CORE="/tmp/raveos-core-repo/x86_64"
for pkg in $BUILT; do
- PKGFILE=$(basename "$pkg")
- PKGNAME=$(echo "$PKGFILE" | sed 's/-[0-9][^-]*-[^-]*-[^-]*\.pkg\.tar\.zst$//')
- rm -f "$CORE/${PKGNAME}-"*.pkg.tar.zst* 2>/dev/null || true
+ PKGNAME=$(bsdtar -xOf "$pkg" .PKGINFO | awk -F' = ' '/^pkgname =/{print $2; exit}')
+ rm -f "$CORE/${PKGNAME}-"[0-9]*.pkg.tar.zst* 2>/dev/null || true
rm -f "$CORE/${PKGNAME}.pkg.tar.zst"* 2>/dev/null || true
cp -v "$pkg" "$CORE/"
[ -f "$pkg.sig" ] && cp -v "$pkg.sig" "$CORE/"
@@ -137,16 +141,20 @@ jobs:
ALLPKGS=$(ls *.pkg.tar.zst)
repo-add raveos-core-repo.db.tar.xz $ALLPKGS
+ PASSFILE=$(mktemp)
+ chmod 600 "$PASSFILE"
+ printf '%s' "${{ secrets.GPG_PRIVATE_KEY_PASSPHRASE }}" > "$PASSFILE"
for f in raveos-core-repo.db.tar.xz raveos-core-repo.files.tar.xz; do
gpg --batch --yes --pinentry-mode loopback \
- --passphrase "${{ secrets.GPG_PRIVATE_KEY_PASSPHRASE }}" \
+ --passphrase-file "$PASSFILE" \
--local-user 25C7668F1235F5664F037671BDB2A9CE6EBFF113 \
--detach-sign --no-armor -o "$f.sig" "$f"
done
+ rm -f "$PASSFILE"
ln -sf raveos-core-repo.db.tar.xz.sig raveos-core-repo.db.sig
ln -sf raveos-core-repo.files.tar.xz.sig raveos-core-repo.files.sig
- RSYNC_SSH="ssh -p 2222 -i $HOME/.ssh/vps_backup_key -o StrictHostKeyChecking=no"
+ RSYNC_SSH="ssh -p 2222 -i $HOME/.ssh/vps_backup_key -o StrictHostKeyChecking=accept-new -o BatchMode=yes"
rsync -az --delete -e "$RSYNC_SSH" \
"$CORE/" root@10.66.66.1:/root/docker/repo/repo/x86_64/