69 lines
1.7 KiB
YAML
69 lines
1.7 KiB
YAML
name: Release
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- v*
|
|
|
|
jobs:
|
|
# NPM Registry & GitHub Release
|
|
release:
|
|
# Use Windows Server 2022
|
|
runs-on: windows-2022
|
|
steps:
|
|
# Step I
|
|
- name: Get Source Code
|
|
uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0
|
|
# Step II
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@v3
|
|
with:
|
|
node-version: lts/*
|
|
registry-url: https://registry.npmjs.com
|
|
# Step III
|
|
- name: Install Dependencies
|
|
run: npm ci
|
|
# Step IV
|
|
- name: Build Project
|
|
run: npm run build
|
|
# Step V
|
|
- name: Create tar.gz File
|
|
uses: TheDoctor0/zip-release@0.7.1
|
|
with:
|
|
type: tar
|
|
path: dist/
|
|
filename: build.tar.gz
|
|
# Step VI
|
|
- name: Publish to NPM Registry
|
|
uses: rxfork/npm-publish@v1
|
|
with:
|
|
token: ${{ secrets.NPM_TOKEN }}
|
|
# Step VII
|
|
- name: Generate Changelog
|
|
run: npx changelogithub@0.12
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
# Step VIII
|
|
# / pre-release
|
|
- name: GitHub Release (pre-release)
|
|
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') && contains(github.ref, '-')
|
|
uses: softprops/action-gh-release@v1
|
|
with:
|
|
prerelease: true
|
|
files: |
|
|
dist/*
|
|
build.tar.gz
|
|
# / release
|
|
- name: GitHub Release (release)
|
|
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') && contains(github.ref, '-') == false
|
|
uses: softprops/action-gh-release@v1
|
|
with:
|
|
prerelease: false
|
|
files: |
|
|
dist/*
|
|
build.tar.gz
|
|
|
|
# Authored by @kuohuanhuan.
|