Creates new publish action (#2241)

When a tag is created and pushed to GitHub, this action will

- create the zip folder for the release
- creates the release
- adds the zip folder to the release
- publishes to npm

closes #2181
This commit is contained in:
Rob Larsen
2020-05-11 13:59:52 -04:00
committed by GitHub
parent 87acc19836
commit 195ef9fc3e
2 changed files with 48 additions and 32 deletions

View File

@@ -1,32 +0,0 @@
name: publish npm
on:
release:
types: [published]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: actions/setup-node@v1
with:
node-version: 12
- run: npm ci
- run: npm run build
publish-npm:
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: actions/setup-node@v1
with:
node-version: 12
registry-url: https://registry.npmjs.org/
- run: npm ci
- run: npm publish
env:
NODE_AUTH_TOKEN: ${{secrets.npm_token}}

48
.github/workflows/publish.yaml vendored Normal file
View File

@@ -0,0 +1,48 @@
name: publish
on:
push:
tags:
- 'v*'
jobs:
build:
name: Upload Release Asset
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Get tag
id: get_version
run: echo ::set-output name=VERSION::$(echo $GITHUB_REF | cut -d / -f 3)
- name: Create Zip Folder
run: zip -r --junk-paths ${{ steps.get_version.outputs.VERSION }}.zip ./dist
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: Release ${{ github.ref }}
draft: false
prerelease: false
- name: Upload Release Asset
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./${{ steps.get_version.outputs.VERSION }}.zip
asset_name: ${{ steps.get_version.outputs.VERSION }}.zip
asset_content_type: application/zip
- name: Setup Node
uses: actions/setup-node@v1
with:
node-version: 12
registry-url: https://registry.npmjs.org/
- name: publish npm
run: npm publish
env:
NODE_AUTH_TOKEN: ${{secrets.npm_token}}