wsfed

7.0.17.0.2
.github/workflows/prepare-release.yml
+.github/workflows/prepare-release.ymlNew file
+72
Index: package/.github/workflows/prepare-release.yml
===================================================================
--- package/.github/workflows/prepare-release.yml
+++ package/.github/workflows/prepare-release.yml
@@ -0,0 +1,72 @@
+name: Prepare Release
+
+on:
+  push:
+    branches:
+      - master
+
+concurrency:
+  group: prepare-release
+  cancel-in-progress: true
+
+permissions:
+  contents: write
+  pull-requests: write
+
+jobs:
+  prepare:
+    runs-on: ubuntu-latest
+    if: "!startsWith(github.event.head_commit.message, 'chore(release):')"
+    steps:
+      - name: Checkout code
+        uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
+        with:
+          fetch-depth: 0
+          persist-credentials: false
+
+      - name: Setup Node.js
+        uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
+        with:
+          node-version: '24'
+
+      - name: Install dependencies
+        run: npm install
+
+      - name: Detect Next Version
+        id: version
+        env:
+          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+        run: |
+          # Run semantic-release with only commit analyzer to detect version
+          NEXT_VERSION=$(npx semantic-release --dry-run --plugins @semantic-release/commit-analyzer | tee /dev/stderr | awk '/The next release version is/{print $NF}')
+          echo "next=$NEXT_VERSION" >> $GITHUB_OUTPUT
+
+      - name: Update package.json
+        if: steps.version.outputs.next != ''
+        run: npm version "$NEXT_VERSION" --no-git-tag-version
+        env:
+          NEXT_VERSION: ${{ steps.version.outputs.next }}
+
+      - name: Update CHANGELOG.md
+        if: steps.version.outputs.next != ''
+        run: npx conventional-changelog-cli -p angular -i CHANGELOG.md -s
+
+      - name: Create Pull Request
+        if: steps.version.outputs.next != ''
+        uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0 # v8.1.0
+        with:
+          token: ${{ secrets.GITHUB_TOKEN }}
+          commit-message: "chore(release): ${{ steps.version.outputs.next }}"
+          branch: "release/v${{ steps.version.outputs.next }}"
+          delete-branch: true
+          title: "chore(release): ${{ steps.version.outputs.next }}"
+          body: |
+            This PR prepares the release of version ${{ steps.version.outputs.next }}.
+
+            **Changes:**
+            - Updated version in `package.json` to ${{ steps.version.outputs.next }}
+            - Updated `CHANGELOG.md` with release notes
+
+            **Next Steps:**
+            Review and merge this PR to trigger the publish workflow.
+          labels: release