81 lines
2.2 KiB
Handlebars
81 lines
2.2 KiB
Handlebars
name: deploy
|
|
|
|
on:
|
|
# 每当 push 到 main 分支时触发部署
|
|
# Deployment is triggered whenever a push is made to the main branch.
|
|
push:
|
|
branches: [main]
|
|
# 手动触发部署
|
|
# Manually trigger deployment
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
docs:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
# “最近更新时间” 等 git 日志相关信息,需要拉取全部提交记录
|
|
# "Last updated time" and other git log-related information require fetching all commit records.
|
|
fetch-depth: 0
|
|
|
|
{{#if (equal packageManager "pnpm")}}
|
|
- name: Setup pnpm
|
|
uses: pnpm/action-setup@v4
|
|
|
|
{{/if}}
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
# 选择要使用的 node 版本
|
|
node-version: 22
|
|
|
|
{{#if (equal packageManager "npm")}}
|
|
# 安装依赖
|
|
# Install dependencies
|
|
- name: Install Dependencies
|
|
run: npm ci
|
|
{{/if}}
|
|
|
|
{{#if (equal packageManager "pnpm")}}
|
|
# 安装依赖
|
|
# Install dependencies
|
|
- name: Install Dependencies
|
|
run: pnpm install --frozen-lockfile
|
|
{{/if}}
|
|
|
|
{{#if (equal packageManager "yarn")}}
|
|
- name: Run install
|
|
uses: borales/actions-yarn@v4
|
|
with:
|
|
cmd: install
|
|
{{/if}}
|
|
|
|
# 运行构建脚本
|
|
# Run the build script
|
|
{{#unless (equal packageManager "yarn")}}
|
|
- name: Build VuePress site
|
|
run: {{packageManager}} run docs:build
|
|
{{/unless}}
|
|
{{#if (equal packageManager "yarn")}}
|
|
- name: Build VuePress site
|
|
uses: borales/actions-yarn@v4
|
|
with:
|
|
cmd: docs:build
|
|
{{/if}}
|
|
|
|
|
|
# 查看 workflow 的文档来获取更多信息
|
|
# @see https://github.com/crazy-max/ghaction-github-pages
|
|
- name: Deploy to GitHub Pages
|
|
uses: crazy-max/ghaction-github-pages@v4
|
|
with:
|
|
# 部署到 gh-pages 分支
|
|
target_branch: gh-pages
|
|
# 部署目录为 VuePress 的默认输出目录
|
|
build_dir: {{docsDir}}/.vuepress/dist
|
|
env:
|
|
# @see https://docs.github.com/cn/actions/reference/authentication-in-a-workflow#about-the-github_token-secret
|
|
GITHUB_TOKEN: $\{{ secrets.GITHUB_TOKEN }}
|