Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 76aa332

Browse files
chore: add ability to release prerelease versions (#492)
1 parent 0dfcdee commit 76aa332

File tree

1 file changed

+18
-2
lines changed

1 file changed

+18
-2
lines changed

‎.github/workflows/publish.yaml‎

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ jobs:
1212
outputs:
1313
VERSION_EXISTS: ${{ steps.check-version.outputs.VERSION_EXISTS }}
1414
VERSION: ${{ steps.get-version.outputs.VERSION }}
15+
RELEASE_CHANNEL: ${{ steps.npm-tag.outputs.RELEASE_CHANNEL }}
1516
steps:
1617
- uses: GitHubSecurityLab/actions-permissions/monitor@v1
1718
- uses: actions/checkout@v5
@@ -42,6 +43,20 @@ jobs:
4243
else
4344
echo "VERSION_EXISTS=false" >> "$GITHUB_OUTPUT"
4445
fi
46+
- name: Get npm tag
47+
id: npm-tag
48+
run: |
49+
$regex = "^v?(?<major>0|[1-9]\d*)\.(?<minor>0|[1-9]\d*)\.(?<patch>0|[1-9]\d*)(?:-(?<prerelease>(?:[^.]*)))?"
50+
$version = "${{ steps.get-version.outputs.VERSION }}"
51+
$releaseChannel = $groups["prerelease"][0].value
52+
53+
if ([string]::IsNullOrEmpty($releaseChannel)) {
54+
$releaseChannel = "latest"
55+
}
56+
Write-Output "RELEASE_CHANNEL=$releaseChannel" >> $Env:GITHUB_OUTPUT
57+
- name: Output deployment info
58+
run: echo "::notice title=Deployment Info::Deploying version ${{ steps.get-version.outputs.VERSION }} to channel ${{ steps.npm-tag.outputs.RELEASE_CHANNEL }}"
59+
4560
publish:
4661
runs-on: ubuntu-latest
4762
environment: Production
@@ -58,16 +73,17 @@ jobs:
5873
node-version-file: package.json
5974
registry-url: "https://registry.npmjs.org"
6075
cache: "npm"
76+
6177
- name: Build package
6278
run: |
6379
npm ci
6480
npm run build
6581
- name: Publish to NPM
66-
run: npm publish
82+
run: npm publish --tag ${{ needs.check.outputs.RELEASE_CHANNEL }}
6783
env:
6884
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
6985
- name: Publish git release
7086
env:
7187
GH_TOKEN: ${{ github.token }}
7288
run: |
73-
gh release create ${{ needs.check.outputs.VERSION }} --title "${{ needs.check.outputs.VERSION }}" --generate-notes --target ${{ github.sha }}
89+
gh release create ${{ needs.check.outputs.VERSION }} --title "${{ needs.check.outputs.VERSION }}" --generate-notes --target ${{ github.sha }} ${{ (steps.npm-tag.outputs.RELEASE_CHANNEL != 'latest' && '--prerelease') || ''}}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /