Skip to content

Commit c96b114

Browse files
authored
Merge pull request #2 from ReforgeHQ/mfaga-pre-release-support
feat: add support for pre-releases in release script
2 parents 1a22c4a + 8e27ae3 commit c96b114

File tree

5 files changed

+26
-49
lines changed

5 files changed

+26
-49
lines changed

.github/workflows/release.yaml

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ jobs:
99
version-changed: ${{ steps.check.outputs.changed }}
1010
current-version: ${{ steps.check.outputs.current-version }}
1111
previous-version: ${{ steps.check.outputs.previous-version }}
12+
is-prerelease: ${{ steps.check.outputs.is-prerelease }}
13+
npm-tag: ${{ steps.check.outputs.npm-tag }}
1214
steps:
1315
- uses: actions/checkout@v4
1416
with:
@@ -30,6 +32,18 @@ jobs:
3032
echo "changed=false" >> $GITHUB_OUTPUT
3133
fi
3234
35+
# Check if this is a pre-release version
36+
if [[ "$current_version" =~ -(alpha|beta|rc|dev|pre|canary|next) ]]; then
37+
echo "is-prerelease=true" >> $GITHUB_OUTPUT
38+
tag="$(echo "$current_version" | cut -d'-' -f2)"
39+
echo "npm-tag=$tag" >> $GITHUB_OUTPUT
40+
echo "Detected pre-release version with tag: $tag"
41+
else
42+
echo "is-prerelease=false" >> $GITHUB_OUTPUT
43+
echo "npm-tag=latest" >> $GITHUB_OUTPUT
44+
echo "Detected stable release version"
45+
fi
46+
3347
build-and-publish:
3448
runs-on: ubuntu-latest
3549
needs: check-version
@@ -48,14 +62,22 @@ jobs:
4862
registry-url: "https://registry.npmjs.org"
4963
- run: npm ci
5064
- run: npm run build
51-
- run: npm publish --provenance --access public
65+
- name: Publish to npm
66+
run: |
67+
if [ "${{ needs.check-version.outputs.is-prerelease }}" == "true" ]; then
68+
npm publish --provenance --access public --tag ${{ needs.check-version.outputs.npm-tag }}
69+
else
70+
npm publish --provenance --access public
71+
fi
5272
env:
5373
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
5474

5575
create-release:
5676
runs-on: ubuntu-latest
5777
needs: [check-version, build-and-publish]
58-
if: needs.build-and-publish.result == 'success'
78+
if:
79+
needs.build-and-publish.result == 'success' && needs.check-version.outputs.is-prerelease ==
80+
'false'
5981
permissions:
6082
contents: write
6183
steps:

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,5 +192,5 @@ This script:
192192
To install the pre-release version:
193193
194194
```bash
195-
npm install @reforge-com/javascript@pre
195+
npm install @reforge-com/javascript
196196
```

package.json

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@reforge-com/javascript",
3-
"version": "0.0.0-pre.0",
3+
"version": "0.0.0-pre.1",
44
"description": "Feature Flags & Dynamic Configuration as a Service",
55
"main": "dist/index.cjs",
66
"module": "dist/index.mjs",
@@ -21,7 +21,6 @@
2121
"eslint-plugin-jest": "^26.8.0",
2222
"jest": "^29.0.0",
2323
"jest-fetch-mock": "^3.0.3",
24-
"lint-staged": "^13.2.3",
2524
"prettier": "^3.0.0",
2625
"ts-jest": "^29.1.1",
2726
"ts-node": "^10.9.1",
@@ -53,9 +52,6 @@
5352
"url": "https://github.com/reforgehq/sdk-javascript/issues"
5453
},
5554
"homepage": "https://github.com/reforgehq/sdk-javascript#readme",
56-
"lint-staged": {
57-
"**/*": "prettier --write --ignore-unknown"
58-
},
5955
"dependencies": {
6056
"uuid": "^9.0.1"
6157
},

publish-prerelease.sh

Lines changed: 0 additions & 17 deletions
This file was deleted.

publish-release.sh

Lines changed: 0 additions & 24 deletions
This file was deleted.

0 commit comments

Comments
 (0)