mirror of
https://hub.gitmirror.com/https://github.com/ExamAware/ExamAware-docs
synced 2025-04-29 08:06:37 +00:00
87 lines
2.2 KiB
YAML
87 lines
2.2 KiB
YAML
|
|
name: 部署文档
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
permissions:
|
|
contents: write
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
# 如果你文档需要 Git 子模块,取消注释下一行
|
|
# submodules: true
|
|
|
|
- name: 设置 pnpm
|
|
uses: pnpm/action-setup@v4
|
|
with:
|
|
version: 9.9.0+sha512.60c18acd138bff695d339be6ad13f7e936eea6745660d4cc4a776d5247c540d0edee1a563695c183a66eb917ef88f2b4feb1fc25f32a7adcadc7aaf3438e99c1
|
|
|
|
|
|
- name: 设置 Node.js
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 20
|
|
cache: pnpm
|
|
|
|
- name: 安装依赖
|
|
run: |
|
|
corepack enable
|
|
pnpm install --frozen-lockfile
|
|
|
|
- name: 构建文档
|
|
env:
|
|
NODE_OPTIONS: --max_old_space_size=8192
|
|
run: |-
|
|
pnpm run docs:build
|
|
> src/.vuepress/dist/.nojekyll
|
|
|
|
- name: 打包工件
|
|
shell: sh
|
|
if: runner.os == 'Linux'
|
|
run: |
|
|
tar \
|
|
--directory "./src/.vuepress/dist/" \
|
|
-cvf "$RUNNER_TEMP/artifact.tar" \
|
|
--exclude=.git \
|
|
--exclude=.github \
|
|
.
|
|
env:
|
|
INPUT_PATH: ./build
|
|
|
|
- name: 上传工件
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: github-pages
|
|
path: ${{ runner.temp }}/artifact.tar
|
|
retention-days: 1
|
|
if-no-files-found: error
|
|
|
|
deploy:
|
|
# Add a dependency to the build job
|
|
needs: build
|
|
|
|
# Grant GITHUB_TOKEN the permissions required to make a Pages deployment
|
|
permissions:
|
|
pages: write # to deploy to Pages
|
|
id-token: write # to verify the deployment originates from an appropriate source
|
|
|
|
# Deploy to the github-pages environment
|
|
environment:
|
|
name: github-pages
|
|
url: ${{ steps.deployment.outputs.page_url }}
|
|
|
|
# Specify runner + deployment step
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: 部署到 GitHub Pages
|
|
id: deployment
|
|
uses: actions/deploy-pages@v2 # or the latest "vX.X.X" version tag for this action |