pr-preview.yml now emits a `preview/deploy` commit status (pending/success/failure)
so doc-review.yml can detect failures instantly instead of polling an HTTP URL for
10 minutes. Also centralizes the api-docs TypeScript build command in package.json
and adds a lefthook pre-commit hook for api-docs script changes.
generate-api-docs.sh now calls post-process-specs.js and
generate-openapi-articles.js from api-docs/scripts/dist/, which
requires compiling TypeScript first. The dist/ directory is
gitignored, so CI must run tsc before generating API docs.
- Add detectApiPages() to detect-preview-pages.js to auto-map changed
api-docs/ files to their content URL paths via .config.yml
- Add has-api-doc-changes output to detect-preview-pages.js
- Fix needs-author-input logic to not request input when API pages
are already auto-detected
- Add Build API docs step to pr-preview.yml that runs yarn run
build:api-docs before the Hugo build when api-doc changes detected
Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com>
* fix(ci): add path offset for PR preview subdirectory baseURL
When PR preview builds use a subdirectory baseURL like
/docs-v2/pr-preview/pr-XXXX/, shortcodes that parse .RelPermalink
to detect product context fail because the path has extra segments.
This fix:
- Adds config/pr-preview/params.yml with prPreviewPathOffset: 3
- Updates workflow to use -e pr-preview environment
- Updates api-endpoint, influxdb/host, and children shortcodes to
use the offset when indexing path segments
- Adds nil-safety with default fallback for placeholder_host
Normal builds are unaffected (offset defaults to 0).
* fix(ci): add path offset to product-name and sidebar for PR previews
Apply the same prPreviewPathOffset fix to product-name.html and
sidebar.html that was applied in the initial PR #6665.
These templates parse RelPermalink to detect product context, but when
baseURL includes a subdirectory path (e.g., /docs-v2/pr-preview/pr-XXXX/),
the path indices shift. This fix uses the configurable offset to skip
extra path segments in PR preview builds.
* fix(ci): skip PR preview for fork PRs and add notice comment
Fork PRs cannot deploy to gh-pages because GITHUB_TOKEN has read-only
access to the base repository. This is a GitHub security feature.
Changes:
- Add condition to skip preview job for fork PRs
- Add fork-notice job to post helpful comment explaining limitation
- Include local preview instructions for contributors
When PR preview builds use a subdirectory baseURL like
/docs-v2/pr-preview/pr-XXXX/, shortcodes that parse .RelPermalink
to detect product context fail because the path has extra segments.
This fix:
- Adds config/pr-preview/params.yml with prPreviewPathOffset: 3
- Updates workflow to use -e pr-preview environment
- Updates api-endpoint, influxdb/host, and children shortcodes to
use the offset when indexing path segments
- Adds nil-safety with default fallback for placeholder_host
Normal builds are unaffected (offset defaults to 0).
* refactor(ci): improve PR preview with products.yml and index page
- Load product prefixes from data/products.yml (single source of truth)
- Build regex pattern dynamically from loaded namespaces
- Fix CSS copying: Hugo outputs fingerprinted CSS at root level
- Generate index.html with clickable links to preview pages
- Add test for influxdb3_explorer namespace
This keeps the URL parser in sync as new products are added and
provides a better preview experience with navigable links.
* fix(ci): set baseURL for preview subdirectory deployment
Hugo generates absolute paths for fingerprinted assets based on baseURL.
When deploying to GitHub Pages subdirectory (pr-preview/pr-XXXX/), assets
were incorrectly resolving to the root instead of the preview path.
This sets --baseURL to the correct preview URL so all asset paths work.