summaryrefslogtreecommitdiff
path: root/.forgejo/workflows
diff options
context:
space:
mode:
Diffstat (limited to '.forgejo/workflows')
-rw-r--r--.forgejo/workflows/build-gnome.yml28
-rw-r--r--.forgejo/workflows/build-hyprland.yml37
-rw-r--r--.forgejo/workflows/build-kernel.yml51
-rw-r--r--.forgejo/workflows/build-theme-send-core-repo.yml35
-rw-r--r--.forgejo/workflows/hyprland-update-check.yml24
-rw-r--r--.forgejo/workflows/kernel-update-check.yml49
6 files changed, 111 insertions, 113 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/
diff --git a/.forgejo/workflows/build-hyprland.yml b/.forgejo/workflows/build-hyprland.yml
index 625be43..f3dbf39 100644
--- a/.forgejo/workflows/build-hyprland.yml
+++ b/.forgejo/workflows/build-hyprland.yml
@@ -9,8 +9,8 @@ on:
workflow_dispatch:
concurrency:
- group: raveos-hyprland-build
- cancel-in-progress: true
+ group: raveos-repo-publish
+ cancel-in-progress: false
jobs:
build:
@@ -33,11 +33,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
@@ -74,15 +75,6 @@ jobs:
dir="hyprland-raveos/$pkg"
[ -d "$dir" ] || continue
- PKGVER=$(grep '^pkgver=' "$dir/PKGBUILD" | head -1 | cut -d= -f2 | tr -d "'\"")
- PKGREL=$(grep '^pkgrel=' "$dir/PKGBUILD" | head -1 | cut -d= -f2 | tr -d "'\"")
-
- echo "=== Checking $pkg (${PKGVER}-${PKGREL}) ==="
- if ls "$CORE"/${pkg}-${PKGVER}-${PKGREL}-*.pkg.tar.zst 2>/dev/null | grep -q .; then
- echo "$pkg already built -> skipping"
- continue
- fi
-
echo "=== Building $pkg ==="
cd "$dir"
rm -f *.pkg.tar.zst || true
@@ -100,13 +92,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: |
@@ -119,9 +115,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
cp -v "$pkg" "$CORE/"
[ -f "$pkg.sig" ] && cp -v "$pkg.sig" "$CORE/"
done
@@ -131,16 +126,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/
diff --git a/.forgejo/workflows/build-kernel.yml b/.forgejo/workflows/build-kernel.yml
index cac3432..bfcc8a0 100644
--- a/.forgejo/workflows/build-kernel.yml
+++ b/.forgejo/workflows/build-kernel.yml
@@ -9,8 +9,8 @@ on:
workflow_dispatch:
concurrency:
- group: raveos-kernel-build
- cancel-in-progress: true
+ group: raveos-repo-publish
+ cancel-in-progress: false
jobs:
build:
@@ -33,11 +33,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
@@ -48,26 +49,7 @@ jobs:
mkdir -m 700 "$GNUPGHOME"
echo "${{ secrets.GPG_PRIVATE_KEY }}" | base64 -d | gpg --batch --import
- - name: Check if already built
- id: check
- run: |
- set -euo pipefail
- CORE="/tmp/raveos-core-repo/x86_64"
- PKGVER=$(grep '^pkgver=' linux-raveos/PKGBUILD | cut -d= -f2)
- PKGREL=$(grep '^pkgrel=' linux-raveos/PKGBUILD | cut -d= -f2)
- FULLVER="${PKGVER}-${PKGREL}"
- echo "PKGVER=$PKGVER" >> $GITHUB_OUTPUT
- echo "PKGREL=$PKGREL" >> $GITHUB_OUTPUT
- if ls "$CORE"/linux-cachyos-${PKGVER}-${PKGREL}-*.pkg.tar.zst 2>/dev/null | grep -q .; then
- echo "SKIP=yes" >> $GITHUB_OUTPUT
- echo "linux-cachyos ${FULLVER} mar bent van -> skip"
- else
- echo "SKIP=no" >> $GITHUB_OUTPUT
- echo "linux-cachyos ${FULLVER} build indul..."
- fi
-
- name: Build linux-raveos
- if: steps.check.outputs.SKIP != 'yes'
run: |
set -euo pipefail
cd linux-raveos
@@ -77,20 +59,22 @@ jobs:
cp -v *.pkg.tar.zst /tmp/builtpkgs/
- name: Sign built packages
- if: steps.check.outputs.SKIP != 'yes'
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
- if: steps.check.outputs.SKIP != 'yes'
run: |
set -euo pipefail
BUILT=$(ls /tmp/builtpkgs/*.pkg.tar.zst 2>/dev/null || true)
@@ -101,9 +85,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
cp -v "$pkg" "$CORE/"
[ -f "$pkg.sig" ] && cp -v "$pkg.sig" "$CORE/"
done
@@ -113,20 +96,24 @@ 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/
- echo "::notice title=Kernel published::linux-raveos ${{ steps.check.outputs.PKGVER }}-${{ steps.check.outputs.PKGREL }}"
+ echo "::notice title=Kernel published::linux-raveos published"
- name: Cleanup
if: always()
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}')
diff --git a/.forgejo/workflows/hyprland-update-check.yml b/.forgejo/workflows/hyprland-update-check.yml
index f6afab7..deaa003 100644
--- a/.forgejo/workflows/hyprland-update-check.yml
+++ b/.forgejo/workflows/hyprland-update-check.yml
@@ -5,6 +5,10 @@ on:
- cron: '0 6 * * 1,4'
workflow_dispatch:
+concurrency:
+ group: hyprland-update-check
+ cancel-in-progress: false
+
jobs:
check-update:
runs-on: iso-builder
@@ -72,13 +76,9 @@ jobs:
if [ "$LOCAL_VER" != "$UPSTREAM_VER" ]; then
echo "Update available for $pkg: $LOCAL_VER -> $UPSTREAM_VER"
-
- # Frissites letoltese es pkgrel beallitasa
- echo "$UPSTREAM_PKGBUILD" > "$dir/PKGBUILD"
- sed -i 's/^pkgrel=[0-9]*/pkgrel=10/' "$dir/PKGBUILD"
- if [ "$pkg" = "hyprpolkitagent" ] || [ "$pkg" = "hyprland-qt-support" ]; then
- sed -i 's/^pkgrel=10/pkgrel=20/' "$dir/PKGBUILD"
- fi
+
+ sed -i "s/^pkgver=.*/pkgver=${UPSTREAM_VER}/" "$dir/PKGBUILD"
+ (cd "$dir" && updpkgsums)
UPDATED_PKGS+=("$pkg")
SUMMARY="${SUMMARY}\n- **${pkg}**: \`${LOCAL_VER}\` -> \`${UPSTREAM_VER}-10\`"
@@ -98,6 +98,9 @@ jobs:
- name: Create branch and open single Pull Request
if: steps.prcheck.outputs.EXISTS == 'no' && steps.check.outputs.HAS_UPDATES == 'yes'
+ env:
+ COUNT: ${{ steps.check.outputs.COUNT }}
+ SUMMARY: ${{ steps.check.outputs.SUMMARY }}
run: |
set -euo pipefail
DATE=$(date +%Y%m%d-%H%M)
@@ -108,19 +111,18 @@ jobs:
git checkout -b "$BRANCH"
git add hyprland-raveos/
- git commit -m "update: hyprland stack (${{ steps.check.outputs.COUNT }} packages)"
+ git commit -m "update: hyprland stack (${COUNT} packages)"
- git remote set-url origin "https://bot:${{ secrets.FORGEJO_TOKEN }}@git.rp1.hu/RaveOS/RaveOS-PKGBUILD.git"
git push origin "$BRANCH"
- PR_BODY="Automata Hyprland stack frissítés (${{ steps.check.outputs.COUNT }} csomag):\n${{ steps.check.outputs.SUMMARY }}\n\nA csomagok a merge után az \`iso-builder\` runneren sorrendben fordulnak le, GPG aláírással kerülnek a RaveOS repóba."
+ PR_BODY="$(printf 'Automata Hyprland stack frissítés (%s csomag):\n%s\n\nA csomagok a merge után az \`iso-builder\` runneren sorrendben fordulnak le, GPG aláírással kerülnek a RaveOS repóba.' "$COUNT" "$SUMMARY")"
curl -fsSL -X POST \
-H "Authorization: token ${{ secrets.FORGEJO_TOKEN }}" \
-H "Content-Type: application/json" \
"https://git.rp1.hu/api/v1/repos/${{ github.repository }}/pulls" \
-d "$(jq -n \
- --arg title "Hyprland stack frissítés (${{ steps.check.outputs.COUNT }} csomag)" \
+ --arg title "Hyprland stack frissítés (${COUNT} csomag)" \
--arg head "$BRANCH" \
--arg base "main" \
--arg body "$PR_BODY" \
diff --git a/.forgejo/workflows/kernel-update-check.yml b/.forgejo/workflows/kernel-update-check.yml
index 1eb42c6..5e7e16d 100644
--- a/.forgejo/workflows/kernel-update-check.yml
+++ b/.forgejo/workflows/kernel-update-check.yml
@@ -5,6 +5,10 @@ on:
- cron: '0 6 1,15 * *'
workflow_dispatch:
+concurrency:
+ group: kernel-update-check
+ cancel-in-progress: false
+
jobs:
check-update:
runs-on: iso-builder
@@ -29,6 +33,11 @@ jobs:
echo "HIBA: Nem sikerult a CachyOS verziot lekerdezni"
exit 1
fi
+ for v in "$MAJOR" "$MINOR" "$TAGREL"; do
+ case "$v" in
+ *[!0-9]*) echo "HIBA: Ervenytelen verzio: $v"; exit 1 ;;
+ esac
+ done
echo "MAJOR=$MAJOR" >> $GITHUB_OUTPUT
echo "MINOR=$MINOR" >> $GITHUB_OUTPUT
echo "TAGREL=$TAGREL" >> $GITHUB_OUTPUT
@@ -50,10 +59,17 @@ jobs:
- name: Frissites szukseges?
id: needsupdate
+ env:
+ NEW_MAJOR: ${{ steps.check.outputs.MAJOR }}
+ NEW_MINOR: ${{ steps.check.outputs.MINOR }}
+ NEW_TAGREL: ${{ steps.check.outputs.TAGREL }}
+ CUR_MAJOR: ${{ steps.current.outputs.MAJOR }}
+ CUR_MINOR: ${{ steps.current.outputs.MINOR }}
+ CUR_TAGREL: ${{ steps.current.outputs.TAGREL }}
run: |
set -euo pipefail
- NEW="${{ steps.check.outputs.MAJOR }}.${{ steps.check.outputs.MINOR }}-${{ steps.check.outputs.TAGREL }}"
- CUR="${{ steps.current.outputs.MAJOR }}.${{ steps.current.outputs.MINOR }}-${{ steps.current.outputs.TAGREL }}"
+ NEW="${NEW_MAJOR}.${NEW_MINOR}-${NEW_TAGREL}"
+ CUR="${CUR_MAJOR}.${CUR_MINOR}-${CUR_TAGREL}"
if [ "$NEW" != "$CUR" ]; then
echo "UPDATE=yes" >> $GITHUB_OUTPUT
echo "Frissites: $CUR -> $NEW"
@@ -65,9 +81,13 @@ jobs:
- name: PR mar letezik?
id: prcheck
if: steps.needsupdate.outputs.UPDATE == 'yes'
+ env:
+ NEW_MAJOR: ${{ steps.check.outputs.MAJOR }}
+ NEW_MINOR: ${{ steps.check.outputs.MINOR }}
+ NEW_TAGREL: ${{ steps.check.outputs.TAGREL }}
run: |
set -euo pipefail
- BRANCH="update/kernel-${{ steps.check.outputs.MAJOR }}.${{ steps.check.outputs.MINOR }}-${{ steps.check.outputs.TAGREL }}"
+ BRANCH="update/kernel-${NEW_MAJOR}.${NEW_MINOR}-${NEW_TAGREL}"
OPEN_PRS=$(curl -fsSL \
-H "Authorization: token ${{ secrets.FORGEJO_TOKEN }}" \
"https://git.rp1.hu/api/v1/repos/${{ github.repository }}/pulls?state=open&limit=50")
@@ -83,23 +103,20 @@ jobs:
- name: PKGBUILD frissitese es PR nyitasa
if: steps.needsupdate.outputs.UPDATE == 'yes' && steps.prcheck.outputs.EXISTS == 'no'
+ env:
+ NEW_MAJOR: ${{ steps.check.outputs.MAJOR }}
+ NEW_MINOR: ${{ steps.check.outputs.MINOR }}
+ NEW_TAGREL: ${{ steps.check.outputs.TAGREL }}
+ OLD_PKGVER: ${{ steps.current.outputs.PKGVER }}
+ OLD_MAJOR: ${{ steps.current.outputs.MAJOR }}
+ OLD_MINOR: ${{ steps.current.outputs.MINOR }}
+ OLD_TAGREL: ${{ steps.current.outputs.TAGREL }}
run: |
set -euo pipefail
- NEW_MAJOR="${{ steps.check.outputs.MAJOR }}"
- NEW_MINOR="${{ steps.check.outputs.MINOR }}"
- NEW_TAGREL="${{ steps.check.outputs.TAGREL }}"
- OLD_PKGVER="${{ steps.current.outputs.PKGVER }}"
- CUR="${{ steps.current.outputs.MAJOR }}.${{ steps.current.outputs.MINOR }}-${{ steps.current.outputs.TAGREL }}"
-
- # pkgver = kernel verzio (pl. 7.0.11)
- # pkgrel logika:
- # - uj major.minor (pl. 7.0.10 -> 7.0.11 vagy 8.0.x) -> reset 10-re
- # - csak _tagrel valtozik (ugyanaz a kernel, uj stable tag) -> +1
+ CUR="${OLD_MAJOR}.${OLD_MINOR}-${OLD_TAGREL}"
NEW_PKGVER="${NEW_MAJOR}.${NEW_MINOR}"
- OLD_MAJOR="${{ steps.current.outputs.MAJOR }}"
- OLD_MINOR="${{ steps.current.outputs.MINOR }}"
OLD_PKGREL=$(grep '^pkgrel=' linux-raveos/PKGBUILD | cut -d= -f2)
if [ "${OLD_MAJOR}.${OLD_MINOR}" != "${NEW_MAJOR}.${NEW_MINOR}" ]; then
@@ -122,7 +139,6 @@ jobs:
sed -i "s/^pkgver=.*/pkgver=${NEW_PKGVER}/" linux-raveos/PKGBUILD
sed -i "s/^pkgrel=.*/pkgrel=${NEW_PKGREL}/" linux-raveos/PKGBUILD
- # Uj CachyOS config letoltese + RaveOS javitasok visszarakasa
curl -fsSL --retry 3 \
"https://raw.githubusercontent.com/CachyOS/linux-cachyos/master/linux-cachyos/config" \
-o linux-raveos/config
@@ -134,7 +150,6 @@ jobs:
git add linux-raveos/PKGBUILD linux-raveos/config
git commit -m "update: linux-cachyos ${NEW_MAJOR}.${NEW_MINOR}-${NEW_TAGREL} (pkgver=${NEW_PKGVER}-${NEW_PKGREL})"
- git remote set-url origin "https://bot:${{ secrets.FORGEJO_TOKEN }}@git.rp1.hu/RaveOS/RaveOS-PKGBUILD.git"
git push origin "$BRANCH"
curl -fsSL -X POST \