node-build-release #21
This file contains hidden or 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
name: node-build-release | |
on: | |
push: | |
tags: | |
- 'v*' | |
workflow_dispatch: | |
inputs: | |
tags: | |
description: 'Build tags' | |
jobs: | |
build: | |
if: github.actor == 'badabing2005' | |
runs-on: ubuntu-latest | |
name: Build | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout/@v4 | |
- name: Use Node.js 20 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '20' | |
- name: Install Dependencies | |
run: npm ci | |
- name: Build Package | |
run: | | |
npm run dist | |
- name: Get Name | |
id: get_name | |
run: | | |
echo "VALUE_NAME=$(node -p "require('./package.json').name")" >> $GITHUB_ENV | |
- name: Get Version | |
id: get_version | |
run: | | |
echo "VALUE_VERSION=$(node -p "require('./package.json').version")" >> $GITHUB_ENV | |
- name: Get Id | |
id: get_id | |
run: | | |
echo "VALUE_ID=$(node -p "require('./src/manifest.json').id")" >> $GITHUB_ENV | |
- name: Create Zip File | |
run: | | |
cd ./publish | |
zip -r ./${{ env.VALUE_NAME }}_v${{ env.VALUE_VERSION }}.zip ./${{ env.VALUE_ID }}.jpl | |
- name: Create ChangeLog Text | |
id: changelog_text | |
uses: loopwerk/tag-changelog@v1 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
config_file: .github/scripts/tag-changelog-config.js | |
- name: Create Release | |
uses: softprops/action-gh-release@v1 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
name: Release ${{ env.VALUE_VERSION }} | |
prerelease: false | |
draft: true | |
files: | | |
./publish/${{ env.VALUE_NAME }}_v${{ env.VALUE_VERSION }}.zip | |
body: ${{ steps.changelog_text.outputs.changes }} | |
continue-on-error: true | |
publish: | |
needs: build | |
runs-on: ubuntu-latest | |
name: Publish | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout/@v4 | |
- name: Use Node.js 20 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '20' | |
- name: Install Dependencies | |
run: npm ci | |
- name: Set npm Registry URL | |
run: npm config set registry https://registry.npmjs.org/ | |
- name: Set npm Auth Token | |
run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }} | |
- name: Debug NPM Config | |
run: npm config ls | |
- name: Publish to npm | |
run: npm publish |