feathersjs-offline/owndata-ownnet

View on GitHub
.github/workflows/npm-publish.yml

Summary

Maintainability
Test Coverage
# This workflow will run tests using node and then publish a package to npm and 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 Node.js Package

on:
  release:
    types: [created]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v2
        with:
          node-version: 14.x
      - run: lerna bootstrap
      - run: npm run test

  publish:
    needs: test
    runs-on: ubuntu-latest
    env:
      NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
    permissions:
      contents: read
      packages: write
    steps:
      - uses: actions/checkout@v2
      - run: lerna bootstrap

      # Publish to npm
      - uses: actions/setup-node@v2
        with:
          node-version: 14.x
          registry-url: 'https://registry.npmjs.org/'

      - run: npm run webpack
      - run: cd packages/server && npm publish --access public
      - run: cd packages/client && npm publish --access public

      # Publish to GitHub Packages
      - uses: actions/setup-node@v2
        with:
          node-version: 14.x
          registry-url: 'https://npm.pkg.github.com/'
          scope: '@feathersjs-offline'
      - run: cd packages/server && npm publish --access public
        env:
          NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      - run: cd packages/client && npm publish --access public
        env:
          NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}