Skip to content

Build, Release and Publish #5

Build, Release and Publish

Build, Release and Publish #5

Workflow file for this run

name: Build, Release and Publish
on:
push:
branches:
- main
paths:
- 'package.json'
workflow_dispatch:
permissions:
contents: write
packages: read
jobs:
build-and-publish:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: latest
registry-url: 'https://registry.npmjs.org/'
- name: Install dependencies
run: bun install
- name: Build package
run: bun run build
- name: Extract version from package.json
id: get_version
run: |
version=$(node -p 'require("./package.json").version')
echo "current-version=$version" >> $GITHUB_OUTPUT
- name: Create GitHub Release
uses: softprops/action-gh-release@v2
with:
tag_name: v${{ steps.get_version.outputs.current-version }}
name: Release v${{ steps.get_version.outputs.current-version }}
draft: false
prerelease: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Publish to NPM
uses: JS-DevTools/npm-publish@v3
with:
token: ${{ secrets.NPM_TOKEN }}
access: public