Skip to content

Commit 9d32735

Browse files
committed
one more time
1 parent aa71d5f commit 9d32735

File tree

1 file changed

+24
-11
lines changed

1 file changed

+24
-11
lines changed

.github/workflows/preview-publish.yml

Lines changed: 24 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -63,24 +63,37 @@ jobs:
6363
- name: Generate preview version
6464
run: |
6565
pr_number=${{ github.event.pull_request.number }}
66-
67-
# Check if a prerelease version for this PR already exists on npm
68-
existing_versions=$(npm view svelteplot versions --json 2>/dev/null | grep -o "\".*pr-${pr_number}[.][0-9]*\"" || echo "")
69-
66+
67+
# Get existing versions like ["0.2.7-pr-65.0", "0.2.7-pr-65.1"]
68+
existing_versions=$(npm view svelteplot versions --json 2>/dev/null | grep -o "\"[0-9]*\.[0-9]*\.[0-9]*-pr-${pr_number}\.[0-9]*\"" || echo "")
69+
7070
if [ -n "$existing_versions" ]; then
71-
# Get the latest prerelease version for this PR
71+
# Get the highest existing prerelease number
7272
latest_version=$(echo $existing_versions | sed 's/,/\n/g' | sort -V | tail -n 1 | sed 's/"//g')
73+
7374
echo "Found existing prerelease version: $latest_version"
7475
75-
# Set the package version to the existing version so npm version will properly increment
76-
npm version $latest_version --no-git-tag-version
76+
# Extract base version and prerelease number
77+
base_version=$(echo $latest_version | sed -E "s/-pr-${pr_number}\.[0-9]+//")
78+
prerelease_num=$(echo $latest_version | sed -E "s/.*-pr-${pr_number}\.([0-9]+)$/\1/")
79+
80+
# Increment prerelease number
81+
next_prerelease=$((prerelease_num + 1))
82+
83+
next_version="${base_version}-pr-${pr_number}.${next_prerelease}"
84+
85+
echo "Bumping to next prerelease version: $next_version"
86+
87+
# Update package.json
88+
npm version "$next_version" --no-git-tag-version
89+
else
90+
# No existing prerelease, create a fresh one off the current version
91+
npm version prerelease --preid=pr-${pr_number} --no-git-tag-version
7792
fi
78-
79-
# Now increment the prerelease version (or create it if it doesn't exist)
80-
npm version prerelease --preid=pr-${pr_number} --no-git-tag-version
81-
93+
8294
echo "Generated version: $(node -p "require('./package.json').version")"
8395
96+
8497
- name: Publish to npm
8598
env:
8699
NODE_AUTH_TOKEN: ${{ secrets.NPM_AUTH }}

0 commit comments

Comments
 (0)