From 0a8f82f0d6d2b3e9d6a73fa3a88ba5d25504b1cf Mon Sep 17 00:00:00 2001 From: ostiwe Date: Wed, 29 Oct 2025 19:36:49 +0300 Subject: [PATCH] ci: Update release --- .github/workflows/release.yml | 42 ++++++++++++++++++++++++++++++----- release.config.cjs | 11 ++++----- 2 files changed, 42 insertions(+), 11 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f5f790f..2513bd5 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -10,7 +10,33 @@ permissions: contents: write jobs: - release: + semantic-release: + name: Sematic Release + runs-on: self-hosted + outputs: + tmpFileName: ${{ steps.tempFileName.outputs.name }} + steps: + - name: Generate tempFile Name + id: tempFileName + run: | + echo "name=$(openssl rand -hex 36)" >> "$GITHUB_OUTPUT" + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Release + run: | + yarn install + yarn semantic-release + - name: Upload release artifact + uses: actions/upload-artifact@v4 + with: + name: 'ReleaseArtifact' + path: /tmp/${{ steps.tempFileName.outputs.name }} + retention-days: 2 + goreleaser: + needs: semantic-release + name: Goreleaser runs-on: self-hosted steps: - name: Checkout @@ -23,9 +49,13 @@ jobs: go-version: '^1.25' - name: Install go release run: go install github.com/goreleaser/goreleaser/v2@latest - - name: Release - run: | - yarn install - yarn semantic-release + - name: Download release artifact + uses: actions/download-artifact@v5 + with: + name: 'ReleaseArtifact' + path: /tmp/${{ needs.semantic-release.outputs.tmpFileName }} + - name: Run Goreleaser env: - GITEA_TOKEN: ${{ secrets.GORELEASER_TOKEN }} \ No newline at end of file + GITEA_TOKEN: ${{ secrets.GORELEASER_TOKEN }} + run: | + goreleaser release --release-notes /tmp/${{ needs.semantic-release.outputs.tmpFileName }} --clean \ No newline at end of file diff --git a/release.config.cjs b/release.config.cjs index 7cf5dbe..855a273 100644 --- a/release.config.cjs +++ b/release.config.cjs @@ -44,15 +44,16 @@ module.exports = { [ "@semantic-release/exec", { - publishCmd: 'echo -e "${nextRelease.notes}\n\n$(cat CHANGELOG.md)" > CHANGELOG.md' + publishCmd: 'echo "${nextRelease.notes}\n\n$(cat CHANGELOG.md)" > CHANGELOG.md; echo "${nextRelease.notes}" > "/tmp/${process.env.TMP_FILE_NAME}";', } ], - '@semantic-release/git', [ - "@semantic-release/exec", + '@semantic-release/git', { - "publishCmd": 'echo "${nextRelease.notes}" > /tmp/release-notes.md; goreleaser release --release-notes /tmp/release-notes.md --clean' + assets: [ + 'CHANGELOG.md' + ] } - ] + ], ], };