From 3e8282661f1717fe89d6649add2ba5c596e5a80d Mon Sep 17 00:00:00 2001 From: sepehr-safari Date: Wed, 8 Jul 2026 20:27:04 +0300 Subject: [PATCH] chore: simplify release workflow for single package Replace per-package tag loop with single tag derivation from packages/toolkit/package.json version. Use v0.x.0 tag format (not release-v0.x.0). Single gh release create with --generate-notes. Closes #58 --- .github/workflows/release.yml | 29 ++++++++++------------------- 1 file changed, 10 insertions(+), 19 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 907903a..4c3c483 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -54,29 +54,20 @@ jobs: NPM_TOKEN: ${{ secrets.NPM_TOKEN }} NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} - - name: Create ecosystem tag and GitHub release + - name: Create tag and GitHub release if: steps.changesets.outputs.published == 'true' env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | - # Determine the ecosystem tag from the latest published version - LATEST_TAG="" - for pkg in packages/*/; do - if [ -f "$pkg/package.json" ]; then - VERSION=$(node -p "require('./$pkg/package.json').version" 2>/dev/null || echo "") - if [ -n "$VERSION" ]; then - # Extract major.minor for ecosystem tag (e.g. 0.1.0 -> v0.1.0) - TAG="release-v$(echo "$VERSION" | cut -d. -f1-2).0" - LATEST_TAG="$TAG" - fi - fi - done + # Derive the release tag from the single published package version. + VERSION=$(node -p "require('./packages/toolkit/package.json').version") + TAG="v${VERSION}" - if [ -n "$LATEST_TAG" ] && ! gh release view "$LATEST_TAG" >/dev/null 2>&1; then - echo "Creating GitHub release: $LATEST_TAG" - gh release create "$LATEST_TAG" \ - --title "$LATEST_TAG" \ - --generate-notes + if gh release view "$TAG" >/dev/null 2>&1; then + echo "Tag $TAG already exists; skipping release creation" else - echo "Tag $LATEST_TAG already exists or no packages published" + echo "Creating GitHub release: $TAG" + gh release create "$TAG" \ + --title "$TAG" \ + --generate-notes fi