name: Build on: [push] permissions: contents: write jobs: build_arch: runs-on: archlinux steps: - name: Checkout Current Repo uses: actions/checkout@v4 - name: Clone External Repository run: | git clone https://git.elordenador.org/RedSocial/cli_archpkg.git external chown -R builder:builder external - name: Makepkg run: | cd external && makepkg -s --noconfirm - name: Extract package version id: pkg_version run: | PKGFILE=$(ls external/*.pkg.tar.zst) PKGVERSION=$(basename "$PKGFILE" | sed 's/^rscli-git-\(r[^ ]*\)-.*$/\1/') echo "PKGVERSION=$PKGVERSION" >> $GITHUB_ENV echo "version=$PKGVERSION" >> $GITHUB_OUTPUT - name: Upload Artifact uses: actions/upload-artifact@v3 with: name: arch-package path: external/*.pkg.tar.zst publish-release: runs-on: ubuntu-26.04 needs: build_arch steps: - name: Checkout Current Repo uses: actions/checkout@v4 - name: Download Artifact uses: actions/download-artifact@v3 with: name: arch-package path: ./dist - name: Create Git Tag run: | VERSION=$(ls dist/*.pkg.tar.zst | sed 's/^rscli-git-\(r[^ ]*\)-.*$/\1/') git tag "$VERSION" git push origin "$VERSION" echo "VERSION=$VERSION" >> $GITHUB_ENV - name: Create Gitea Release env: GITEA_TOKEN: ${{ secrets.GITHUB_TOKEN }} TAG: ${{ env.VERSION }} run: | PACKAGE_FILE=$(ls dist/*.pkg.tar.zst) FILE_NAME=$(basename "$PACKAGE_FILE") RELEASE_JSON=$(curl -s -X POST "https://git.elordenador.org/api/v1/repos/RedSocial/cli/releases" \ -H "Authorization: token $GITEA_TOKEN" \ -H "Content-Type: application/json" \ -d "{ \"tag_name\": \"$TAG\", \"name\": \"Release $TAG\", \"draft\": false, \"prerelease\": false }") RELEASE_ID=$(echo "$RELEASE_JSON" | grep -o '"id":[0-9]*' | head -1 | cut -d':' -f2) curl -X POST "https://git.elordenador.org/api/v1/repos/RedSocial/cli/releases/$RELEASE_ID/assets?name=$FILE_NAME" \ -H "Authorization: token $GITEA_TOKEN" \ --data-binary "@$PACKAGE_FILE"