diff options
| author | nippy <you@example.com> | 2026-04-12 17:17:34 +0200 |
|---|---|---|
| committer | nippy <you@example.com> | 2026-04-12 17:17:34 +0200 |
| commit | 8d9de68862175e28c8f5338f4d4efc32520a1fdc (patch) | |
| tree | 8b4029bef00f606e5de65dfa32a7e3b6ae582ced /.forgejo | |
| parent | 45b9b10c290e62bef2a3103bfebca4f4edfa9299 (diff) | |
| download | Raveos-core-repo-8d9de68862175e28c8f5338f4d4efc32520a1fdc.tar.gz Raveos-core-repo-8d9de68862175e28c8f5338f4d4efc32520a1fdc.zip | |
update live
Diffstat (limited to '.forgejo')
| -rw-r--r-- | .forgejo/workflows/repoadd.yml | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/.forgejo/workflows/repoadd.yml b/.forgejo/workflows/repoadd.yml new file mode 100644 index 0000000..5145d98 --- /dev/null +++ b/.forgejo/workflows/repoadd.yml @@ -0,0 +1,91 @@ +name: Update pacman repo DB (repo-add) + +on: + push: + tags: + - "v*" + - "vrepo-*" + workflow_dispatch: + +jobs: + repoadd: + runs-on: iso-builder + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Install repo-add (pacman-contrib) + run: | + sudo pacman -S --needed --noconfirm pacman-contrib + + - name: Rebuild repo DB files + run: | + set -euo pipefail + + REPO_NAME="raveos-core-repo" + + if [ ! -d "x86_64" ]; then + echo "ERROR: x86_64 directory not found!" + exit 1 + fi + + cd x86_64 + + rm -f "${REPO_NAME}.db" \ + "${REPO_NAME}.files" \ + "${REPO_NAME}.db.tar.xz" \ + "${REPO_NAME}.files.tar.xz" \ + "${REPO_NAME}.db.tar.xz.old" \ + "${REPO_NAME}.files.tar.xz.old" || true + + repo-add "${REPO_NAME}.db.tar.xz" ./*.pkg.tar.zst + + ln -sf "${REPO_NAME}.db.tar.xz" "${REPO_NAME}.db" + ln -sf "${REPO_NAME}.files.tar.xz" "${REPO_NAME}.files" + + echo "=== DB files created ===" + ls -la | grep -E "${REPO_NAME}\.(db|files)" + + - name: Commit and push updated DB files (to main) + run: | + set -euo pipefail + + cd "${GITHUB_WORKSPACE}" + + git config user.name "Forgejo Actions" + git config user.email "actions@forgejo.local" + + git fetch origin main + git checkout -B main origin/main + + git add x86_64/raveos-core-repo.db* x86_64/raveos-core-repo.files* || true + + if git diff --staged --quiet; then + echo "No DB changes, nothing to commit." + exit 0 + fi + + git commit -m "Update pacman repo DB (repo-add)" + git push origin main + - name: Cleanup (force unmount + delete) + if: always() + run: | + echo "=== Disk before cleanup ===" + df -h + + echo "=== Unmount leftover archiso mounts ===" + sudo umount -R "${GITHUB_WORKSPACE}/work" 2>/dev/null || true + sudo umount -R "${GITHUB_WORKSPACE}/output" 2>/dev/null || true + + echo "=== Remove build dirs ===" + sudo rm -rf "${GITHUB_WORKSPACE}/work" || true + sudo rm -rf "${GITHUB_WORKSPACE}/output" || true + + echo "=== Clear pacman cache ===" + sudo rm -rf /var/cache/pacman/pkg/* || true + + echo "=== Disk after cleanup ===" + df -h
\ No newline at end of file |