vanillawc / .github

Vanilla Web Components. A place for framework-free, transpiler-free, scaffolding-free web components.
Creative Commons Attribution Share Alike 4.0 International
229 stars 9 forks source link

Update CD #25

Closed evanplaice closed 4 years ago

evanplaice commented 4 years ago

Setup CD to dual-publish to both NPM and GitHub Packages

Checklist

Notes

name: Release

on:
  push:
    tags:
    - 'v*'

jobs:
  check:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@master
      - name: Setup
        uses: actions/setup-node@v1
        with:
          node-version: 13.2
      - name: Cache
        uses: actions/cache@v1
        with:
          path: node_modules
          key: ${{ runner.OS }}-npm-cache-${{ hashFiles('**/package-lock.json') }}
          restore-keys: |
            ${{ runner.OS }}-npm-cache-
      - name: Verify
        run: |
          npm ci
          npm run preversion
  npm:
    runs-on: ubuntu-latest
    needs: check
    steps:
    - name: Checkout
      uses: actions/checkout@master
    - name: Publish
      run: |
        echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_AUTH_TOKEN }}" > ~/.npmrc
        npm publish --access public
  gh:
    runs-on: ubuntu-latest
    needs: check
    steps:
    - name: Checkout
      uses: actions/checkout@master
    - name: Publish
      run: |
        echo "//npm.pkg.github.com/:_authToken=${{ secrets.GITHUB_TOKEN }}" >> ~/.npmrc
        ORG="$(echo '${{ github.repository }}' | cut -d'/' -f1)"
        echo "registry=https://npm.pkg.github.com/$ORG" > .npmrc
        npm publish

References