Files
elordenador 34481f15ea
Build / build_arch (push) Successful in 30s
Build / publish-release (push) Successful in 23s
workflow: add job outputs mapping for cross-job version access
2026-05-13 16:21:48 +02:00

74 lines
2.3 KiB
YAML

name: Build
on: [push]
permissions:
contents: write
jobs:
build_arch:
runs-on: archlinux
outputs:
version: ${{ steps.pkg_version.outputs.version }}
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: |
PKGVERSION=$(pacman -Qp external/*.pkg.tar.zst | awk '{print $2}')
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="${{ needs.build_arch.outputs.version }}"
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"