mirror of
https://github.com/NanmiCoder/cc-haha
synced 2026-07-15 12:53:31 +08:00
The main branch push introduced a new root dependency for WebFetch fixes, but package-lock.json was not refreshed, so the docs workflow's npm ci step failed before it could even build VitePress. This syncs the lockfile, upgrades the docs workflow to Node 22 for the current parser dependency requirements, and includes package-lock.json in the workflow trigger set. Constraint: The docs pipeline uses npm ci, which requires package.json and package-lock.json to stay exactly in sync Rejected: Leave the workflow on Node 20 | continues to emit avoidable engine warnings for current docs parser dependencies Rejected: Switch docs workflow from npm ci to npm install | weakens reproducibility instead of fixing the lockfile contract Confidence: high Scope-risk: narrow Reversibility: clean Directive: Whenever root dependencies change, keep package-lock.json in the same commit so docs and other npm-based workflows remain green Tested: npm ci Not-tested: Remote GitHub Actions rerun after pushing this fix
61 lines
1.2 KiB
YAML
61 lines
1.2 KiB
YAML
name: Deploy VitePress Docs
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
paths:
|
|
- 'docs/**'
|
|
- 'package.json'
|
|
- 'package-lock.json'
|
|
- '.github/workflows/deploy-docs.yml'
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: read
|
|
pages: write
|
|
id-token: write
|
|
|
|
concurrency:
|
|
group: pages
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Setup Node
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 22
|
|
cache: npm
|
|
|
|
- name: Setup Pages
|
|
uses: actions/configure-pages@v4
|
|
|
|
- name: Install dependencies
|
|
run: npm ci
|
|
|
|
- name: Build with VitePress
|
|
run: npm run docs:build
|
|
|
|
- name: Upload artifact
|
|
uses: actions/upload-pages-artifact@v3
|
|
with:
|
|
path: docs/.vitepress/dist
|
|
|
|
deploy:
|
|
environment:
|
|
name: github-pages
|
|
url: ${{ steps.deployment.outputs.page_url }}
|
|
needs: build
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Deploy to GitHub Pages
|
|
id: deployment
|
|
uses: actions/deploy-pages@v4
|