Skip to content

Merge pull request #3 from Codegyan-LLC/dev #15

Merge pull request #3 from Codegyan-LLC/dev

Merge pull request #3 from Codegyan-LLC/dev #15

Workflow file for this run

name: Release & Publish
on:
push:
branches:
- main
jobs:
release:
runs-on: ubuntu-latest
outputs:
version: ${{ steps.version.outputs.new_version }}
steps:
# Checkout repo
- name: Checkout code
uses: actions/checkout@v4
# Setup Node.js
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '24'
# Git identity (required for npm version)
- name: Setup Git identity
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
# Install deps
- name: Install dependencies
run: npm install
# Bump version dynamically
- name: Bump version
id: version
run: |
# gitbot
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
NEW_VERSION=$(npm version patch -m "chore(release): v%s [skip ci]")
echo "new_version=$NEW_VERSION" >> $GITHUB_OUTPUT
# Push changes (commit + tag)
- name: Push changes
uses: ad-m/github-push-action@v0.8.0
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
branch: main
tags: true
# Create GitHub Release
- name: Create GitHub Release
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ steps.version.outputs.new_version }}
name: Release ${{ steps.version.outputs.new_version }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
publish-npm:
needs: release # ⬅ Runs only after release is successful
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '24'
registry-url: 'https://registry.npmjs.org/'
- name: Install dependencies
run: npm install
- name: Build package
run: npm run build
- name: Publish to NPM
run: npm publish --access public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}