A quick demo showing how to use GitHub Actions to build, package, and publish Node.js modules to the NPM and GitHub package registries.
A quick demo showing how to use GitHub Actions to build, package, and publish Node.js modules to the NPM and GitHub package registries.
This repo ULL-ESIT-PL-1920/lexer-generator contains the solution code for a Lab for the subject “Procesadores de Lenguajes” (Language Processors) at Grado de Informatica de la ULL.
In branch github-action-npm
I follow the YouTube tutorial
A quick demo showing how to use GitHub Actions to build, package, and publish Node.js modules to the NPM and GitHub package registries.
Initially:
# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created
# For more information see: https://help.github.com/actions/language-and-framework-guides/publishing-nodejs-packages
name: Node.js Package
on:
release:
types: [created]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: 12
- run: npm ci
- run: npm test
publish-npm:
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- 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: $
publish-gpr:
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: 12
registry-url: https://npm.pkg.github.com/
- run: npm ci
- run: npm publish
env:
NODE_AUTH_TOKEN: $
release
Runs your workflow anytime the release
event occurs. More than one activity type triggers this event. For information about the REST API, see “Releases” in the GitHub Developer documentation.
Webhook event payload | Activity types | GITHUB_SHA |
GITHUB_REF |
---|---|---|---|
release |
- published ,
- unpublished
- created
- edited
- deleted
- prereleased |
Last commit in the tagged release | Tag of release |
For example, you can run a workflow when a release has been published.
on:
release:
types: [published]