Skip to content

refactor(scripts): move lang-redirect from public to src/scripts for … #24

refactor(scripts): move lang-redirect from public to src/scripts for …

refactor(scripts): move lang-redirect from public to src/scripts for … #24

name: Docs Deploy gh-pages
on:
push:
branches:
- main
workflow_dispatch:
concurrency:
group: docs-deploy-gh-pages
cancel-in-progress: false
permissions:
contents: read
env:
NODE_VERSION: "22.12.0"
NODE_ENV: production
DOCS_GH_PAGES_PAYLOAD_DIR: .deploy/gh-pages
jobs:
build:
name: Build validated docs snapshot
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: npm
- name: Install dependencies
run: npm ci
- name: Build and verify docs
run: npm run build:ci
env:
CLARITY_PROJECT_ID: ${{ secrets.CLARITY_PROJECT_ID }}
- name: Assemble gh-pages publication payload
run: |
rm -rf "${DOCS_GH_PAGES_PAYLOAD_DIR}"
mkdir -p "${DOCS_GH_PAGES_PAYLOAD_DIR}/dist"
cp .github/gh-pages/esa.jsonc "${DOCS_GH_PAGES_PAYLOAD_DIR}/esa.jsonc"
cp -R dist/. "${DOCS_GH_PAGES_PAYLOAD_DIR}/dist/"
- name: Upload validated gh-pages payload
uses: actions/upload-artifact@v4
with:
name: docs-gh-pages-payload
path: ${{ env.DOCS_GH_PAGES_PAYLOAD_DIR }}
if-no-files-found: error
deploy:
name: Publish validated snapshot to gh-pages
runs-on: ubuntu-latest
needs: build
permissions:
contents: write
environment:
name: docs-production
url: https://docs.hagicode.com
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Download validated gh-pages payload
uses: actions/download-artifact@v4
with:
name: docs-gh-pages-payload
path: .deploy/gh-pages
- name: Publish validated gh-pages payload
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_branch: gh-pages
publish_dir: ./.deploy/gh-pages
force_orphan: true
enable_jekyll: false
- name: Summarize deployment output
run: |
echo "Published the validated gh-pages payload with ./esa.jsonc and ./dist/." >> "$GITHUB_STEP_SUMMARY"
echo "This workflow adds a gh-pages publication path; verify docs.hagicode.com is configured to read gh-pages before treating it as production." >> "$GITHUB_STEP_SUMMARY"
echo "GitHub environment: docs-production" >> "$GITHUB_STEP_SUMMARY"
echo "Expected public URL after host verification: https://docs.hagicode.com" >> "$GITHUB_STEP_SUMMARY"