diff options
Diffstat (limited to '.forgejo/workflows/build-theme-send-core-repo.yml')
| -rw-r--r-- | .forgejo/workflows/build-theme-send-core-repo.yml | 35 |
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}') |