diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index 09f3d53..0b1a640 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -122,7 +122,7 @@ jobs: files: | dist/**/release-hub-*.tar.gz dist/**/release-hub-*.zip - + publish-agent: if: startsWith(github.ref, 'refs/tags/') needs: release @@ -131,43 +131,37 @@ jobs: PRODUCT: release-hub AGENT_URL: ${{ secrets.AGENT_URL }} AGENT_TOKEN: ${{ secrets.AGENT_TOKEN }} - - # Funktioniert in GitHub und Gitea (Actions) weitgehend gleich: - SERVER_URL: ${{ github.server_url }} # z.B. https://github.com oder https://gitea.example.com - REPOSITORY: ${{ github.repository }} # owner/repo - TAG: ${{ github.ref_name }} # vX.Y.Z + SERVER_URL: ${{ github.server_url }} + REPOSITORY: ${{ github.repository }} + TAG: ${{ github.ref_name }} steps: - name: Download artifacts uses: actions/download-artifact@v3 with: path: ./dist - - name: Publish release metadata to Version Agent shell: bash run: | set -euo pipefail - if [[ -z "${AGENT_URL:-}" || -z "${AGENT_TOKEN:-}" ]]; then echo "Missing AGENT_URL or AGENT_TOKEN" >&2; exit 1 fi - VERSION="${TAG#v}" # 12.3.1[-rc.1|-beta.1] - MAJOR="${VERSION%%.*}" # 12 - BRANCH="${MAJOR}.x" # 12.x + VERSION="${TAG#v}" + MAJOR="${VERSION%%.*}" + BRANCH="${MAJOR}.x" CHANNEL="stable" [[ "$VERSION" == *"-rc"* ]] && CHANNEL="rc" [[ "$VERSION" == *"-beta"* ]] && CHANNEL="beta" - # Optional: Nightly-Channel bei Non-Tag-Builds (separater Job, siehe unten) RELEASED_AT="$(date -u +"%Y-%m-%dT%H:%M:%SZ")" NOTES_URL="${SERVER_URL}/${REPOSITORY}/releases/tag/${TAG}" publish() { # args: OS ARCH FILE local OS="$1" ARCH="$2" FILE="$3" - local BIT="64" - case "$ARCH" in 386|armv7) BIT="32";; esac + local BIT="64"; case "$ARCH" in 386|armv7) BIT="32";; esac local FNAME="$(basename "$FILE")" local URL="${SERVER_URL}/${REPOSITORY}/releases/download/${TAG}/${FNAME}" @@ -177,6 +171,7 @@ jobs: SIZE="$(stat -c%s "$FILE")" jq -n \ + --arg product "$PRODUCT" \ --arg branch "$BRANCH" \ --arg channel "$CHANNEL" \ --arg arch "$ARCH" \ @@ -189,6 +184,7 @@ jobs: --arg sha256 "$SHA256" \ --argjson size "$SIZE" \ '{ + product:$product, branch:$branch, channel:$channel, arch:$arch, bit:$bit, os:$os, release:{ version:$version, released_at:$released_at, notes_url:$notes, @@ -202,12 +198,7 @@ jobs: } shopt -s nullglob - - # linux/amd64 for f in dist/**/${PRODUCT}-linux-amd64.tar.gz; do publish linux amd64 "$f"; done - # linux/arm64 for f in dist/**/${PRODUCT}-linux-arm64.tar.gz; do publish linux arm64 "$f"; done - # linux/armv7 for f in dist/**/${PRODUCT}-linux-armv7.tar.gz; do publish linux armv7 "$f"; done - # windows/amd64 - for f in dist/**/${PRODUCT}-windows-amd64.zip; do publish windows amd64 "$f"; done \ No newline at end of file + for f in dist/**/${PRODUCT}-windows-amd64.zip; do publish windows amd64 "$f"; done