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: 20
{{#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 }}