openreader/.github/workflows/docs-deploy.yml
Richard R 9e09f80067 feat(changelog): add changelog feed support and settings integration
Introduce changelog feed manifest support, including client and shared
utilities for fetching and parsing changelog data. Add a new
Settings modal panel for viewing changelog entries, with version
detection based on the current app version. Expose a configurable
changelog feed URL in both environment variables and admin panel
runtime settings. Update documentation and deployment workflow to
support changelog feed generation and consumption. Include unit tests
for changelog utilities.
2026-05-14 09:45:04 -06:00

79 lines
1.9 KiB
YAML

name: Docs Deploy
on:
push:
branches: [main]
release:
types: [published, edited, deleted]
workflow_run:
workflows: ["Version Docs on Tag"]
types: [completed]
workflow_dispatch:
inputs:
full_reconcile:
description: 'Run full changelog reconcile from GitHub Releases'
required: false
default: false
type: boolean
permissions:
contents: read
pages: write
id-token: write
concurrency:
group: docs-pages
cancel-in-progress: true
jobs:
build:
if: github.event_name != 'workflow_run' || github.event.workflow_run.conclusion == 'success'
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: main
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 9
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: pnpm
cache-dependency-path: docs-site/pnpm-lock.yaml
- name: Install docs dependencies
run: pnpm --dir docs-site 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
run: pnpm --dir docs-site build
- name: Upload Pages artifact
uses: actions/upload-pages-artifact@v3
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@v4