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.
79 lines
1.9 KiB
YAML
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
|