--- /dev/null
+name: Publish npm package
+
+on:
+ release:
+ types: [published]
+
+jobs:
+ publish-npm:
+ runs-on: ubuntu-latest
+ if: ${{ github.repository == 'twbs/bootstrap' && startsWith(github.event.release.tag_name, 'v') }}
+ env:
+ GITHUB_REF_NAME: ${{ github.ref_name }}
+ steps:
+ - name: Clone repository
+ uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
+ with:
+ persist-credentials: false
+
+ - name: Set up Node.js
+ uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
+ with:
+ node-version: 22
+ cache: npm
+ registry-url: 'https://registry.npmjs.org'
+
+ - name: Extract version from tag
+ id: version
+ run: |
+ VERSION=${GITHUB_REF_NAME#v}
+ echo "version=$VERSION" >> $GITHUB_OUTPUT
+ echo "Publishing version: $VERSION"
+
+ - name: Verify package version matches tag
+ run: |
+ PACKAGE_VERSION=$(node -p "require('./package.json').version")
+ TAG_VERSION="${{ steps.version.outputs.version }}"
+ echo "Package version: $PACKAGE_VERSION"
+ echo "Tag version: $TAG_VERSION"
+ if [ "$PACKAGE_VERSION" != "$TAG_VERSION" ]; then
+ echo "Error: Package version ($PACKAGE_VERSION) does not match tag version ($TAG_VERSION)"
+ exit 1
+ fi
+
+ - name: Install npm dependencies
+ run: npm ci
+
+ - name: Publish to npm
+ run: npm publish
+ env:
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
-name: Publish NuGet Packages
+name: Publish NuGet package
on:
release:
contents: read
jobs:
- package-nuget:
+ publish-nuget:
runs-on: windows-latest
if: ${{ github.repository == 'twbs/bootstrap' && startsWith(github.event.release.tag_name, 'v') }}
env:
GITHUB_REF_NAME: ${{ github.ref_name }}
steps:
- - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
+ - name: Clone repository
+ uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
+++ /dev/null
-name: Release notes
-
-on:
- push:
- branches:
- - main
- workflow_dispatch:
-
-permissions:
- contents: read
-
-jobs:
- update_release_draft:
- permissions:
- # allow release-drafter/release-drafter to create GitHub releases and add labels to PRs
- contents: write
- pull-requests: write
- runs-on: ubuntu-latest
- if: github.repository == 'twbs/bootstrap'
- steps:
- - uses: release-drafter/release-drafter@b1476f6e6eb133afa41ed8589daba6dc69b4d3f5 # v6.1.0
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}