openreader/.github/workflows/docs-deploy.yml
Richard R 92762fe858 ci(docs): separate release-triggered deploy and enhance changelog feed sync
Extract release-based deploy triggers to new workflow for clarity and
reliability. Update docs-deploy.yml to streamline dispatch inputs and
remove release/workflow_run triggers. Extend build-changelog-feed.mjs to
support incremental changelog sync via workflow_dispatch with release tag
and action, enabling precise upserts and deletions of changelog entries.
2026-05-14 17:14:43 -06:00

81 lines
2 KiB
YAML

name: Docs Deploy
on:
push:
branches: [main]
workflow_dispatch:
inputs:
full_reconcile:
description: 'Run full changelog reconcile from GitHub Releases'
required: false
default: false
type: boolean
release_tag:
description: 'Optional release tag for incremental changelog sync (for release relay)'
required: false
type: string
release_action:
description: 'Optional release action (published, edited, deleted) for incremental sync'
required: false
type: string
permissions:
contents: read
pages: write
id-token: write
concurrency:
group: docs-pages
cancel-in-progress: true
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v5
with:
ref: main
- name: Setup pnpm
uses: pnpm/action-setup@v6
- name: Setup Node.js
uses: actions/setup-node@v5
with:
node-version: lts/*
cache: pnpm
cache-dependency-path: docs-site/pnpm-lock.yaml
- name: Install docs dependencies
working-directory: docs-site
run: pnpm install --frozen-lockfile
- name: Build changelog feed
env:
CHANGELOG_PUBLIC_BASE_URL: https://docs.openreader.richardr.dev
CHANGELOG_FORCE_FULL: ${{ github.event_name == 'workflow_dispatch' && inputs.full_reconcile && '1' || '0' }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: node scripts/build-changelog-feed.mjs
- name: Build docs
working-directory: docs-site
run: pnpm build
- name: Upload Pages artifact
uses: actions/upload-pages-artifact@v5
with:
path: docs-site/build
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@v5