Skip to content

changelog: credit @FTWinston for bitwise @view() tags #281

changelog: credit @FTWinston for bitwise @view() tags

changelog: credit @FTWinston for bitwise @view() tags #281

Workflow file for this run

name: Publish & Release
permissions:
contents: write
on:
push:
branches:
- master
jobs:
npm-publish:
name: npm-publish
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: '20.x'
registry-url: 'https://registry.npmjs.org'
- name: Install dependencies
run: |
npm ci
npm run build
- id: check
uses: EndBug/version-check@v2
with:
file-name: package.json
diff-search: true
- name: Publish package on NPM 📦
if: steps.check.outputs.changed == 'true'
run: npm publish
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Extract CHANGELOG entry for this version
if: steps.check.outputs.changed == 'true'
id: changelog
run: |
awk -v ver="${{ steps.check.outputs.version }}" '
$0 ~ "^## " ver "([^0-9]|$)" { flag = 1; next }
flag && /^## / { exit }
flag { print }
' CHANGELOG.md > RELEASE_NOTES.md
if [ ! -s RELEASE_NOTES.md ]; then
echo "No CHANGELOG entry found for version ${{ steps.check.outputs.version }}" >&2
fi
- name: Release
if: steps.check.outputs.changed == 'true'
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ steps.check.outputs.version }}
prerelease: false
body_path: RELEASE_NOTES.md