Skip to content

publish-package

publish-package #8

name: Publish Github Package
on:
release:
types: [created, published]
repository_dispatch:
types: [publish-package]
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '20.x'
registry-url: 'https://npm.pkg.github.com'
scope: '@almond-bongbong'
- name: Install dependencies
run: npm ci
- name: Run tests
run: npm test
- name: Build package
run: npm run build
- name: Install jq
run: sudo apt-get install -y jq
- name: Update package.json for GitHub Packages
run: |
AUTHOR=$(jq -r '.author' package.json)
NAME=$(jq -r '.name' package.json)
jq --arg author "$AUTHOR" \
--arg name "$NAME" \
'.name = "@\($author)/\($name)"' package.json > package.temp.json
mv package.temp.json package.json
- name: Publish to GitHub Packages
run: npm publish
env:
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}