diff options
| author | Nippy <nippy@Nippy-Mac-mini.local> | 2026-10-09 10:49:26 +0200 |
|---|---|---|
| committer | Nippy <nippy@Nippy-Mac-mini.local> | 2026-10-09 10:49:26 +0200 |
| commit | 91978706279a19a3ac96393630876f3e50cbc518 (patch) | |
| tree | 1355da60486a305aefeea4e55543bbf1008715b3 /.forgejo/workflows/build-kernel.yml | |
| parent | 17a23f8a0cec5439d674d90c593497e4ceed2c68 (diff) | |
| download | RaveOS-PKGBUILD-91978706279a19a3ac96393630876f3e50cbc518.tar.gz RaveOS-PKGBUILD-91978706279a19a3ac96393630876f3e50cbc518.zip | |
fix
Diffstat (limited to '.forgejo/workflows/build-kernel.yml')
| -rw-r--r-- | .forgejo/workflows/build-kernel.yml | 51 |
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() |