summaryrefslogtreecommitdiff
path: root/.forgejo/workflows/build-theme-send-core-repo.yml
diff options
context:
space:
mode:
Diffstat (limited to '.forgejo/workflows/build-theme-send-core-repo.yml')
-rw-r--r--.forgejo/workflows/build-theme-send-core-repo.yml35
1 files changed, 11 insertions, 24 deletions
diff --git a/.forgejo/workflows/build-theme-send-core-repo.yml b/.forgejo/workflows/build-theme-send-core-repo.yml
index 8fa3d5b..928e071 100644
--- a/.forgejo/workflows/build-theme-send-core-repo.yml
+++ b/.forgejo/workflows/build-theme-send-core-repo.yml
@@ -6,8 +6,8 @@ on:
workflow_dispatch:
concurrency:
- group: raveos-theme-module-build-publish
- cancel-in-progress: true
+ group: raveos-repo-publish
+ cancel-in-progress: false
jobs:
build:
@@ -28,7 +28,7 @@ jobs:
- name: Sync core repo from VPS (rsync pull)
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" \
@@ -141,9 +141,6 @@ jobs:
rm -rf build || true
makepkg -s --noconfirm -f
cp -v build/raveos-sddm-theme-*.pkg.tar.zst /tmp/builtpkgs/
- # Azonnal telepitjuk is, mert meg nincs publikalva egy repoban sem
- # (a "Publish" lepes csak a legvegen fut) - a tobbi DE-tema csomag
- # makepkg -s hivasa igy fogja tudni feloldani a fuggoseget.
sudo pacman -U --noconfirm build/raveos-sddm-theme-*.pkg.tar.zst
- name: Build raveos-plasma-theme
@@ -356,43 +353,38 @@ jobs:
echo "No packages built -> nem masolunk uj fajlt, de a db-t mindig ujraepitjuk (onjavito)"
else
for pkg in $BUILT; do
- PKGFILE=$(basename "$pkg")
- PKGNAME=$(echo "$PKGFILE" | sed 's/-[0-9][^-]*-[^-]*-[^-]*\.pkg\.tar\.zst$//')
+ PKGNAME=$(bsdtar -xOf "$pkg" .PKGINFO | awk -F' = ' '/^pkgname =/{print $2; exit}')
if [[ ! "$PKGNAME" =~ ^[a-zA-Z0-9_+-]+$ ]]; then
echo "HIBA: Ervenytelen csomagnev: $PKGNAME -> skip"
continue
fi
- rm -f "$CORE/${PKGNAME}-"*.pkg.tar.zst* 2>/dev/null || true
+ rm -f "$CORE/${PKGNAME}-"[0-9]*.pkg.tar.zst* 2>/dev/null || true
cp -v "$pkg" "$CORE/"
[ -f "$pkg.sig" ] && cp -v "$pkg.sig" "$CORE/"
done
fi
- # Adatbazis ujraepitese HELYBEN (nincs tobbe kulon repo-add job/repo)
- # .xz celzunk (nem .gz), es minden CORE-beli csomagot atadunk a repo-add-nak.
- # A repo-add sajat "--sign"-ja gpg-agentre tamaszkodik jelszo nelkul -- ha
- # az agent cache hideg (pl. amikor nem epult uj csomag, igy a "Sign built
- # packages" lepes se futott le), a signeles nesztelenul elhasal (repo-add
- # csak warningot ir, a regi .sig marad, ami mar nem illik az uj tartalomhoz).
- # Ezert kulon, expliciten alairjuk a db/files fajlokat a jelszo megadasaval.
export GNUPGHOME=/tmp/raveos-gnupg
cd "$CORE"
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
rm -f raveos-core-repo.db.tar.gz* raveos-core-repo.files.tar.gz* 2>/dev/null || true
- # Vissza-szinkron a VPS-re (torli, ami helyben mar nincs, pl. regi verziok)
- 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/
@@ -427,9 +419,6 @@ jobs:
cd "$REPO/x86_64"
- # 1) regi verziojú csomag-assetek torlese verzio-prefix alapjan
- # (a fajlnevek tartalmazzak a pkgver-pkgrel-t, ezert egy verziofrissites
- # uj fajlnevet ad - enelkul a regi verziok orokre felhalmozodnanak)
for f in *.pkg.tar.zst; do
[ -f "$f" ] || continue
pkgname=$(echo "$f" | sed -E 's/-[0-9][^-]*-[^-]*-[^-]*\.pkg\.tar\.zst$//')
@@ -448,11 +437,9 @@ jobs:
done <<< "$existing_assets"
done
- # friss asset-lista a torlesek utan
existing_assets=$(curl -sf -H "Authorization: Bearer ${TOKEN}" \
"${API}/releases/${release_id}" | jq -r '.assets[] | "\(.id)\t\(.name)"')
- # 2) minden aktualis fajl feltoltese (azonos nevu regi peldany cserevel)
for f in *; do
[ -f "$f" ] || continue
asset_id=$(echo "$existing_assets" | awk -F'\t' -v n="$f" '$2==n {print $1}')