Skip to content

GH Release and NPM Publish #29

GH Release and NPM Publish

GH Release and NPM Publish #29

name: publish to npm
on:
workflow_dispatch:
push:
branches:
- 'next'
paths:
- 'packages/**'
jobs:
publish:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- package: 'logger'
nodeVersion: '20'
- package: 'seed'
nodeVersion: '20'
- package: 'utils'
nodeVersion: '20'
- package: 'nwcache'
nodeVersion: '20'
- package: 'controlflow'
nodeVersion: '20'
- package: 'nocap'
nodeVersion: '20'
- package: 'nocap-websocket-adapter-default'
nodeVersion: '20'
- package: 'nocap-info-adapter-default'
nodeVersion: '20'
- package: 'nocap-dns-adapter-default'
nodeVersion: '20'
- package: 'nocap-geo-adapter-default'
nodeVersion: '20'
- package: 'nocap-ssl-adapter-default'
nodeVersion: '20'
steps:
- uses: actions/checkout@v3
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.nodeVersion }}
- name: Install Package
run: |
PATH=$(yarn workspaces info --json | jq '.data | fromjson | ."@nostrwatch/${{ matrix.package }}".location')
cd $PATH && yarn install
- id: publish
uses: JS-DevTools/npm-publish@v3
with:
token: ${{ secrets.NPM_TOKEN }}
package: ./packages/${{ matrix.package }}/package.json
strategy: all
access: public
- if: steps.publish.outputs.type != 'none' && steps.publish.outputs.dry_run != true
id: create_release
uses: actions/create-release@latest
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ matrix.package }}@v${{ steps.publish.outputs.version }}
release_name: ${{ matrix.package }}@${{ steps.publish.outputs.version }}
body: ""
draft: false
prerelease: true