updated release workflow #36
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| on: | |
| push: | |
| branches: | |
| - main | |
| jobs: | |
| build-test-release: | |
| runs-on: ubuntu-latest | |
| env: | |
| NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} # make token available to all steps | |
| permissions: | |
| contents: read | |
| id-token: write # CRITICAL: This enables OIDC authentication | |
| packages: write | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '20' | |
| registry-url: 'https://registry.npmjs.org' | |
| always-auth: true | |
| scope: '@angular-bootstrap' | |
| - name: Clean dist | |
| run: rm -rf dist | |
| - name: Install dependencies | |
| run: npm install | |
| - name: Run tests | |
| run: npm test | |
| - name: Build library | |
| run: npm run build | |
| - name: Configure npm auth (for verification steps) | |
| run: | | |
| # write auth token into the runner userconfig so npm CLI will use it | |
| # we avoid printing the token; GitHub masks secrets automatically | |
| npm config set //registry.npmjs.org/:_authToken "${NODE_AUTH_TOKEN}" --userconfig /home/runner/work/_temp/.npmrc || true | |
| - name: Verify npm auth + dry run | |
| run: | | |
| echo "whoami:" | |
| npm whoami --registry=https://registry.npmjs.org || true | |
| echo "--- npm config (userconfig) ---" | |
| npm config list --userconfig /home/runner/work/_temp/.npmrc || true | |
| echo "--- dry-run publish (will NOT publish) ---" | |
| cd dist/ngbootstrap && npm publish --access public --dry-run || true | |
| - name: Publish to npm | |
| working-directory: dist/ngbootstrap | |
| run: npm publish --provenance --access public |