x-markdown-css/.github/workflows/release.yml

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.