@@ -125,28 +125,51 @@ jobs:
125125 echo "Building sub-packages..."
126126 pnpm -r --filter './packages/*' build # Build sub-packages after main
127127
128- - name : Create GitHub Pre-release
128+ - name : Create GitHub Pre-releases
129129 if : steps.changesets-check.outputs.has_changesets == 'true'
130- id : create-release
131- uses : actions/create-release@v1
132- env :
133- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
134- with :
135- tag_name : vue-pivottable@${{ steps.version.outputs.version }}
136- release_name : vue-pivottable@${{ steps.version.outputs.version }}
137- draft : false
138- prerelease : true
139- body : |
140- ## 🚧 Pre-release (Beta)
141-
142- This is a pre-release version. It may contain bugs and breaking changes.
130+ run : |
131+ # Create release for each package with beta version
132+ create_release() {
133+ local PKG_NAME=$1
134+ local PKG_VERSION=$2
135+ local NPM_NAME=$3
143136
144- Install with: `npm install vue-pivottable@beta`
137+ echo "Creating release for $PKG_NAME@$PKG_VERSION"
145138
146- ### Version: ${{ steps.version.outputs.version }}
139+ gh release create "${PKG_NAME}@${PKG_VERSION}" \
140+ --title "${PKG_NAME}@${PKG_VERSION}" \
141+ --notes "## 🚧 Pre-release (Beta)
142+
143+ This is a pre-release version. It may contain bugs and breaking changes.
144+
145+ Install with: \`npm install ${NPM_NAME}@beta\`
146+
147+ ### Version: ${PKG_VERSION}" \
148+ --prerelease \
149+ --target ${{ github.sha }}
150+ }
151+
152+ # Check main package
153+ MAIN_VERSION=$(node -p "require('./package.json').version")
154+ if [[ $MAIN_VERSION == *"-beta"* ]]; then
155+ create_release "vue-pivottable" "$MAIN_VERSION" "vue-pivottable"
156+ fi
157+
158+ # Check sub-packages
159+ for pkg in packages/*/; do
160+ if [ -d "$pkg" ] && [ -f "$pkg/package.json" ]; then
161+ PKG_NAME=$(cd "$pkg" && node -p "require('./package.json').name")
162+ PKG_VERSION=$(cd "$pkg" && node -p "require('./package.json').version")
163+ if [[ $PKG_VERSION == *"-beta"* ]]; then
164+ create_release "$PKG_NAME" "$PKG_VERSION" "$PKG_NAME"
165+ fi
166+ fi
167+ done
168+ env :
169+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
147170
148171 - name : Publish pre-release to npm
149- if : steps.changesets-check.outputs.has_changesets == 'true' && steps.create-release.outcome == 'success'
172+ if : steps.changesets-check.outputs.has_changesets == 'true'
150173 run : |
151174 # Publish with beta tag only after GitHub release is created
152175 RELEASE_TAG=beta node scripts/release-packages.cjs
0 commit comments