From 894141a402e8b908ceb794aa4f247034a7a4f50d Mon Sep 17 00:00:00 2001 From: Azur84 Date: Wed, 11 Feb 2026 16:07:45 +0100 Subject: [PATCH] Create build.yml --- .gitea/workflows/build.yml | 88 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 .gitea/workflows/build.yml diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml new file mode 100644 index 0000000..b52c82d --- /dev/null +++ b/.gitea/workflows/build.yml @@ -0,0 +1,88 @@ +name: Build Arch Package + +on: + schedule: + - cron: "@weekly" + workflow_dispatch: + +jobs: + check-and-build: + runs-on: archlinux-basedevel-latest + permissions: + packages: write + contents: write + + steps: + - name: Checkout repo + uses: actions/checkout@v4 + + - name: Setup build user + run: | + pacman -Sy --noconfirm git pacman-contrib sudo + useradd -m builduser + echo "builduser ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/builduser + chmod 0440 /etc/sudoers.d/builduser + chown -R builduser:builduser $PWD + + - name: Get Pandora Version + id: get_tag + run: | + VERSION=$(git ls-remote --tags --sort='version:refname' https://github.com/Moulberry/PandoraLauncher.git | tail -n 1 | cut -d/ -f3 | sed 's/^v//') + echo "latest_tag=$VERSION" >> $GITHUB_OUTPUT + + - name: Read Current pkgver + id: current + run: | + source PKGBUILD + echo "current=$pkgver" >> $GITHUB_OUTPUT + + - name: Compare Version + id: compare + run: | + if [ "${{ steps.get_tag.outputs.latest_tag }}" != "${{ steps.current.outputs.current }}" ]; then + echo "build=true" >> $GITHUB_OUTPUT + else + echo "build=false" >> $GITHUB_OUTPUT + fi + + - name: Update PKGBUILD + if: steps.compare.outputs.build == 'true' + run: | + sed -i "s/pkgver=.*/pkgver=${{ steps.get_tag.outputs.latest_tag }}/" PKGBUILD + sudo -u builduser updpkgsums + sudo -u builduser makepkg --printsrcinfo > .SRCINFO + + - name: Build Package + if: steps.compare.outputs.build == 'true' + run: | + sudo -u builduser makepkg -sf --noconfirm + + - name: Upload On Gitea Package + if: steps.compare.outputs.build == 'true' + env: + TOKEN: ${{ secrets.GITEA_TOKEN }} + run: | + curl -H "Authorization: token $TOKEN" \ + -H "Content-Type: application/octet-stream" \ + --upload-file *.pkg.tar.zst \ + https://git.azur.webhop.me/api/packages/Azur/arch/pandora-arch + + - name: Configure Git + if: steps.compare.outputs.build == 'true' + run: | + git config user.name "gitea-actions" + git config user.email "actions@gitea.local" + + - name: Commit changes + if: steps.compare.outputs.build == 'true' + run: | + git add PKGBUILD .SRCINFO + git commit -m "chore: bump to ${{ steps.get_tag.outputs.latest_tag }}" || echo "No changes" + + - name: Push changes + if: steps.compare.outputs.build == 'true' + env: + TOKEN: ${{ secrets.GITEA_TOKEN }} + run: | + git remote set-url origin https://oauth2:${TOKEN}@git.azur.webhop.me/Azur/pandora-arch.git + git push origin HEAD:main