summaryrefslogtreecommitdiff
path: root/.forgejo/workflows/build-kernel.yml
diff options
context:
space:
mode:
authorNippy <nippy@Nippy-Mac-mini.local>2026-10-09 10:49:26 +0200
committerNippy <nippy@Nippy-Mac-mini.local>2026-10-09 10:49:26 +0200
commit91978706279a19a3ac96393630876f3e50cbc518 (patch)
tree1355da60486a305aefeea4e55543bbf1008715b3 /.forgejo/workflows/build-kernel.yml
parent17a23f8a0cec5439d674d90c593497e4ceed2c68 (diff)
downloadRaveOS-PKGBUILD-91978706279a19a3ac96393630876f3e50cbc518.tar.gz
RaveOS-PKGBUILD-91978706279a19a3ac96393630876f3e50cbc518.zip
fix
Diffstat (limited to '.forgejo/workflows/build-kernel.yml')
-rw-r--r--.forgejo/workflows/build-kernel.yml51
1 files changed, 19 insertions, 32 deletions
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()