From 73a36d503af041e75eefa2de285269528fe840f2 Mon Sep 17 00:00:00 2001 From: openhands Date: Mon, 20 Jul 2026 15:03:11 +0200 Subject: [PATCH] fix: combine release workflow into single run block Each Gitea Actions step is a separate shell session; git context did not persist between steps. All steps are now in one run block. --- .gitea/workflows/release.yaml | 48 ++++++++++++++++++----------------- 1 file changed, 25 insertions(+), 23 deletions(-) diff --git a/.gitea/workflows/release.yaml b/.gitea/workflows/release.yaml index 274f05ea..367a4856 100644 --- a/.gitea/workflows/release.yaml +++ b/.gitea/workflows/release.yaml @@ -7,60 +7,62 @@ jobs: release: runs-on: shell steps: - - name: Checkout + - name: Checkout, build & release + env: + VERSION: ${{ gitea.ref_name }} + GITEA_API: ${{ gitea.api_url }} + GITEA_REPO: ${{ gitea.repository }} run: | - git fetch origin --prune --tags - git checkout -f "${{ gitea.ref_name }}" + set -e - - name: Generate Release Notes - id: notes - run: | + # ── Checkout ──────────────────────────────────────────────── + SRC="/tmp/epicnext-release" + rm -rf "$SRC" + git clone --branch "${VERSION}" --depth 1 \ + /docker/gitea/gitea/git/repositories/remco/epicnext-cms.git \ + "$SRC" + cd "$SRC" + + # ── Generate Release Notes ─────────────────────────────────── PREV_TAG="$(git tag --sort=-creatordate | head -2 | tail -1 || echo '')" if [ -n "$PREV_TAG" ]; then - RANGE="${PREV_TAG}..${{ gitea.ref_name }}" + RANGE="${PREV_TAG}..${VERSION}" NOTES="$(git log --oneline --no-decorate "${RANGE}" 2>/dev/null || git log --oneline --no-decorate -20)" else NOTES="$(git log --oneline --no-decorate -30)" fi - echo "NOTES<> "$GITHUB_ENV" - echo "$NOTES" >> "$GITHUB_ENV" - echo "EOF" >> "$GITHUB_ENV" - - echo "VERSION=${{ gitea.ref_name }}" >> "$GITHUB_ENV" echo "=== Release Notes ===" echo "$NOTES" - - name: Build - run: | - cd /var/www/atom-nexst/ + # ── Build ──────────────────────────────────────────────────── pnpm install --frozen-lockfile pnpm prisma:generate export SKIP_ENV_VALIDATION=1 pnpm build - - name: Create Release - run: | - # Use the Gitea API to create a release - BODY="## EpicNext-CMS ${{ env.VERSION }} + # ── Create Gitea Release ───────────────────────────────────── + BODY="## EpicNext-CMS ${VERSION} ### Changes - ${{ env.NOTES }} + ${NOTES} --- _Automated release from Gitea Actions_ " - curl -s -X POST "${{ gitea.api_url }}/repos/${{ gitea.repository }}/releases" \ + curl -s -X POST "${GITEA_API}/repos/${GITEA_REPO}/releases" \ -H "Authorization: token ${{ secrets.GITEA_TOKEN }}" \ -H "Content-Type: application/json" \ -d "$(cat <<-ENDJSON { - "tag_name": "${{ env.VERSION }}", - "name": "${{ env.VERSION }}", + "tag_name": "${VERSION}", + "name": "${VERSION}", "body": $(echo "$BODY" | jq -Rs '.'), "draft": false, "prerelease": false } ENDJSON )" + + echo "Release ${VERSION} created successfully!"