Skip to content

Release

Release #25

Workflow file for this run

---
name: Release
run-name: Release
on:
workflow_dispatch:
jobs:
build:
name: Build
runs-on: ubuntu-24.04
outputs:
version: ${{ steps.package-version.outputs.version }}
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Get version from package.json
id: package-version
run: echo "version=$(node -p "require('./package.json').version")" >> $GITHUB_OUTPUT
- name: Setup and Build
uses: ./.github/actions/setup-and-build
- name: Upload build artifacts
uses: actions/upload-artifact@v6
with:
name: build-artifacts
path: |
dist/
build/
publish-npm:
name: Publish to npm registry
runs-on: ubuntu-24.04
needs: build
permissions:
contents: read
id-token: write
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Download build artifacts
uses: actions/download-artifact@v7
with:
name: build-artifacts
- name: Setup Node.js for npm registry
uses: actions/setup-node@v6
with:
node-version: '24'
registry-url: 'https://registry.npmjs.org'
- name: Publish to npm with provenance
run: npm publish --provenance --tag latest
create-release:
name: Create GitHub Release
runs-on: ubuntu-24.04
needs: [build, publish-npm]
permissions:
contents: write
steps:
- name: Create GitHub Release
uses: softprops/action-gh-release@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ needs.build.outputs.version }}
name: Release ${{ needs.build.outputs.version }}
target_commitish: ${{ github.sha }}
generate_release_notes: true