Skip to content

Publish to npm and GitHub Packages #1094

Publish to npm and GitHub Packages

Publish to npm and GitHub Packages #1094

Workflow file for this run

# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created
# For more information see: https://help.github.com/actions/language-and-framework-guides/publishing-nodejs-packages
name: Publish to npm and GitHub Packages
on:
release:
types: [created]
# try to publish a new version every 24 hours
schedule:
# * is a special character in YAML so you have to quote this string
- cron: '0 9 * * *'
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 'latest'
cache: 'npm'
- run: npm ci
- run: npm test
publish-npm:
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
#
# https://github.com/actions/setup-node/blob/main/docs/advanced-usage.md#publish-to-npmjs-and-gpr-with-npm
#
- uses: actions/setup-node@v4
with:
node-version: 16
registry-url: 'https://npm.pkg.github.com'
# GitHub Packages only supports scoped npm packages.
# Scoped packages have names with the format of @owner/name
#
# https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-npm-registry#publishing-a-package
- name: Publish to GitHub Packages
run: |
sed -i 's/"analyze-css"/"@macbre\/analyze-css"/g' package.json; git diff
npm publish --access public || true
git checkout -- .
env:
NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
- uses: actions/setup-node@v4
with:
node-version: 16
registry-url: 'https://registry.npmjs.org'
- name: Publish to npm
run: |
npm publish --access public
env:
NODE_AUTH_TOKEN: ${{secrets.npm_token}}