Node.js Package #2
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages | |
name: Node.js Package | |
on: | |
release: | |
types: | |
- published | |
jobs: | |
format: | |
runs-on: ubuntu-24.04 | |
permissions: | |
contents: read | |
steps: | |
- name: Checkout | |
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 | |
- name: Install NodeJS | |
uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4 | |
with: | |
node-version: 20 | |
- name: Install dependencies | |
run: npm ci | |
- name: Run format | |
run: npm run format:check | |
deploy: | |
if: ${{ github.event_name == 'release' }} | |
needs: format | |
runs-on: ubuntu-24.04 | |
permissions: | |
actions: write | |
contents: read | |
steps: | |
- name: Checkout | |
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 | |
- name: Install NodeJS | |
uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4 | |
with: | |
node-version: 20 | |
- name: Install dependencies | |
run: npm ci | |
- name: Run build | |
run: npm run build | |
- name: Upload artifacts | |
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0 | |
with: | |
name: packages | |
path: | | |
dist | |
package.json | |
- name: Dispatch deployment | |
env: | |
GITHUB_TOKEN: ${{ secrets.DEPLOYMENT_GITHUB_TOKEN }} | |
run: > | |
gh workflow run deploy-passwordless-nodejs | |
--repo bitwarden/passwordless-devops | |
--field repository=${{ github.repository }} | |
--field run-id=${{ github.run_id }} | |
--field artifact=packages | |
--field environment=npm | |
--field version=${{ github.event.release.tag_name }} |