summaryrefslogtreecommitdiff
path: root/.forgejo
diff options
context:
space:
mode:
Diffstat (limited to '.forgejo')
-rw-r--r--.forgejo/workflows/build-kernel.yml62
-rw-r--r--.forgejo/workflows/build-theme-send-core-repo.yml18
2 files changed, 43 insertions, 37 deletions
diff --git a/.forgejo/workflows/build-kernel.yml b/.forgejo/workflows/build-kernel.yml
index 7dab4bf..a532055 100644
--- a/.forgejo/workflows/build-kernel.yml
+++ b/.forgejo/workflows/build-kernel.yml
@@ -28,13 +28,16 @@ jobs:
sudo pacman -S --needed --noconfirm \
base-devel clang llvm lld bc binutils cpio gettext \
libelf openssl pahole perl python rust rust-bindgen \
- rust-src xxhash xz zlib zstd
+ rust-src xxhash xz zlib zstd rsync
- - name: Clone core repo
+ - name: Fetch core repo via rsync
run: |
set -euo pipefail
+ RSYNC_SSH="ssh -p 2222 -i $HOME/.ssh/vps_backup_key -o StrictHostKeyChecking=no"
rm -rf /tmp/raveos-core-repo
- git clone --depth 1 git@git.rp1.hu:RaveOS/raveos-core-repo.git /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
mkdir -p /tmp/builtpkgs
- name: Import GPG signing key
@@ -63,45 +66,40 @@ jobs:
echo "linux-cachyos ${FULLVER} build indul..."
fi
- - name: Build linux-cachyos
- if: steps.check.outputs.SKIP == 'no'
+ - name: Build linux-raveos
+ if: steps.check.outputs.SKIP != 'yes'
run: |
set -euo pipefail
cd linux-raveos
- rm -f *.pkg.tar.zst || true
- makepkg -s --noconfirm
- cp -v linux-cachyos-*.pkg.tar.zst /tmp/builtpkgs/
+ chmod -R 777 .
+ sudo -u builder makepkg -s --noconfirm --needed
+ mkdir -p /tmp/builtpkgs
+ cp -v *.pkg.tar.zst /tmp/builtpkgs/
- name: Sign built packages
- if: steps.check.outputs.SKIP == 'no'
+ if: steps.check.outputs.SKIP != 'yes'
run: |
set -euo pipefail
export GNUPGHOME=/tmp/raveos-gnupg
for pkg in /tmp/builtpkgs/*.pkg.tar.zst; do
+ [ -f "$pkg" ] || continue
gpg --batch --yes --pinentry-mode loopback \
--passphrase "${{ secrets.GPG_PRIVATE_KEY_PASSPHRASE }}" \
--local-user 25C7668F1235F5664F037671BDB2A9CE6EBFF113 \
- --detach-sign "$pkg"
- echo "Alairva: $(basename "$pkg")"
+ --detach-sign --no-armor "$pkg"
done
- - name: Publish to core repo
- if: steps.check.outputs.SKIP == 'no'
+ - name: Update repo database and sync to VPS
+ if: steps.check.outputs.SKIP != 'yes'
run: |
set -euo pipefail
- CORE="/tmp/raveos-core-repo/x86_64"
- mkdir -p "$CORE"
-
BUILT=$(ls /tmp/builtpkgs/*.pkg.tar.zst 2>/dev/null || true)
if [ -z "$BUILT" ]; then
echo "Nincs csomag -> kihagyva"
exit 0
fi
- cd /tmp/raveos-core-repo
- git config user.name "Forgejo Actions"
- git config user.email "actions@forgejo.local"
-
+ 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$//')
@@ -111,18 +109,22 @@ jobs:
done
export GNUPGHOME=/tmp/raveos-gnupg
- repo-add -s -k 25C7668F1235F5664F037671BDB2A9CE6EBFF113 \
- "$CORE/raveos-core-repo.db.tar.gz" "$CORE"/linux-cachyos-[^h]*.pkg.tar.zst
- repo-add -s -k 25C7668F1235F5664F037671BDB2A9CE6EBFF113 \
- "$CORE/raveos-core-repo.db.tar.gz" "$CORE"/linux-cachyos-headers-*.pkg.tar.zst
+ cd "$CORE"
+ ALLPKGS=$(ls *.pkg.tar.zst)
+ repo-add raveos-core-repo.db.tar.xz $ALLPKGS
- git add -A
- git commit -m "kernel: linux-cachyos ${{ steps.check.outputs.PKGVER }}-${{ steps.check.outputs.PKGREL }}"
- git push origin main
+ 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 }}" \
+ --local-user 25C7668F1235F5664F037671BDB2A9CE6EBFF113 \
+ --detach-sign --no-armor -o "$f.sig" "$f"
+ done
+ 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
- TAG="vrepo-$(date +%Y%m%d-%H%M%S)"
- git tag -a "$TAG" -m "linux-raveos ${GITHUB_SHA:0:7}"
- git push origin "$TAG"
+ RSYNC_SSH="ssh -p 2222 -i $HOME/.ssh/vps_backup_key -o StrictHostKeyChecking=no"
+ 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 }}"
diff --git a/.forgejo/workflows/build-theme-send-core-repo.yml b/.forgejo/workflows/build-theme-send-core-repo.yml
index b8aab1f..1ad9a43 100644
--- a/.forgejo/workflows/build-theme-send-core-repo.yml
+++ b/.forgejo/workflows/build-theme-send-core-repo.yml
@@ -352,21 +352,25 @@ jobs:
REPO="/tmp/raveos-core-repo"
[ -d "$REPO/x86_64" ] || { echo "Nincs mit tükrözni -> kihagyva"; exit 0; }
- # A "Publish" lepes mar szinkron modon, ugyanebben a jobban rsync-elte
- # ki a friss allapotot a VPS-re - nincs tobbe kulon aszinkron repo-add
- # job/webhook-lanc, amire varni kellene.
+ TOKEN="${{ secrets.GH_MIRROR_TOKEN }}"
+ if [ -z "${TOKEN:-}" ]; then
+ echo "FIGYELMEZTETES: GH_MIRROR_TOKEN nincs beallitva -> GitHub tukrozes kihagyva"
+ exit 0
+ fi
OWNER="rave-os"
GH_REPO="RaveOS-core-repo-mirror"
TAG="core-repo-x86_64"
API="https://api.github.com/repos/${OWNER}/${GH_REPO}"
- TOKEN="${{ secrets.GH_MIRROR_TOKEN }}"
-
release_json=$(curl -sf -H "Authorization: Bearer ${TOKEN}" \
- "${API}/releases/tags/${TAG}") || { echo "HIBA: nincs '${TAG}' release a GitHub repoban -> kihagyva"; exit 0; }
+ "${API}/releases/tags/${TAG}" || true)
+ if [ -z "$release_json" ] || ! echo "$release_json" | jq -e .id &>/dev/null; then
+ echo "FIGYELMEZTETES: GitHub release nem erheto el (${TAG}) -> kihagyva"
+ exit 0
+ fi
release_id=$(echo "$release_json" | jq -r .id)
- existing_assets=$(echo "$release_json" | jq -r '.assets[] | "\(.id)\t\(.name)"')
+ existing_assets=$(echo "$release_json" | jq -r '.assets[]? | "\(.id)\t\(.name)"' 2>/dev/null || true)
cd "$REPO/x86_64"