84 lines
2.4 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs
name: halo-theme-dream2.0-plus CI
on:
push:
branches: [ "master", "dev" ]
paths: ["version"]
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [16.x]
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
steps:
# 迁出代码
- uses: actions/checkout@v4
# 确定构建分支类型
- name: Determine Branch Type
id: determine_branch_type
run: |
branch_type=unknown
if [[ $GITHUB_REF == refs/heads/master ]]; then
branch_type=master
elif [[ $GITHUB_REF == refs/heads/dev ]]; then
branch_type=dev
fi
echo "branch_type=$branch_type" >> $GITHUB_ENV
shell: bash
# 确定构建版本
- name: version
id: version
run: |
version=$(cat version)
echo "version=$version" >> $GITHUB_ENV
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- name: Install dependencies
run: npm install
# Actions构建
- name: Build
run: npm run actions --tag=${{ env.version }}
# 上传构建产物zip
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: halo-theme-dream2.0-plus
path: dist-actions
# 如果是master分支创建Release
- name: Create Release
if: ${{ env.branch_type == 'master' }}
id: create_release
uses: actions/create-release@latest
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ env.version }}
release_name: ${{ env.version }}
body: ${{ github.event.commits[0].message }}
draft: false
prerelease: false
# 如果是master分支创建Release Asset
- name: Upload Release Asset
if: ${{ env.branch_type == 'master' }}
uses: dwenegar/upload-release-assets@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
release_id: ${{ steps.create_release.outputs.id }}
assets_path: |
dist