Skip to content

Release

Release #9

Workflow file for this run

name: Release
on:
workflow_run:
workflows: ["Build"]
types:
- completed
jobs:
release:
permissions: write-all
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup node.js
uses: actions/setup-node@v3
with:
node-version: "18.x"
registry-url: "https://registry.npmjs.org"
- name: Publish to NPM
run: npm publish
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Get package version
id: pkgver
run: echo "::set-output name=version::$(node -p "require('./package.json').version")"
# Creates a .tgz file in your working directory
- name: Package NPM tarball
run: npm pack
# - name: Debug GitHub event
# run: echo "${{ toJson(github.event.release) }}"
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ steps.pkgver.outputs.version }}
release_name: Release ${{ steps.pkgver.outputs.version }}
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 }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`.
# asset_path: ./your-package-name-${{ steps.pkgver.outputs.version }}.tgz
asset_name: your-package-name-${{ steps.pkgver.outputs.version }}.tgz
asset_content_type: application/gzip