fix: build API docs before Hugo in PR preview workflow#6908
Closed
Copilot wants to merge 18 commits intofeat-api-upliftfrom
Closed
fix: build API docs before Hugo in PR preview workflow#6908Copilot wants to merge 18 commits intofeat-api-upliftfrom
Copilot wants to merge 18 commits intofeat-api-upliftfrom
Conversation
Rename Core and Enterprise OpenAPI spec files from ref.yml to descriptive names (influxdb3-core-openapi.yaml, influxdb3-enterprise-openapi.yaml). Copy specs to static/openapi/ and add download links in the API description.
Rename Core and Enterprise OpenAPI spec files from ref.yml to descriptive names (influxdb3-core-openapi.yaml, influxdb3-enterprise-openapi.yaml). Copy specs to static/openapi/ and add download links in the API description.
- 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>
Copilot
AI
changed the title
[WIP] Fix pr preview for api pages
fix: build API docs before Hugo in PR preview workflow
Mar 8, 2026
jstirnaman
approved these changes
Mar 9, 2026
…ew (#6890) * feat: add doc review pipeline implementation plan Detailed plan for two interconnected systems: 1. Label system overhaul (22 automation-driven labels replacing 30+ inconsistent ones) 2. Doc review workflow (Claude visual review + Copilot structural review with screenshots) This is a plan document only — no implementation changes. https://claude.ai/code/session_01D5rLaHdQv9iBL55UEsdQFt * fix: split product:v3 into v3-monolith and v3-distributed labels - product:v3-monolith: Core, Enterprise (single-node / clusterable) - product:v3-distributed: Cloud Serverless, Cloud Dedicated, Clustered - Updated auto-label path mappings to match content directory structure - Updated migration mapping and label count (22 → 23) https://claude.ai/code/session_01D5rLaHdQv9iBL55UEsdQFt * feat: define agent instruction file architecture in Phase 3 - One CLAUDE.md (pointer) → role-specific files in .claude/agents/ - doc-triage-agent.md: label taxonomy, path mapping, priority rules - doc-review-agent.md: review scope, severity classification, output format - Prompt file (.github/prompts/) references agent file, stays workflow-specific - Updated file summary and implementation order https://claude.ai/code/session_01D5rLaHdQv9iBL55UEsdQFt * feat: move visual/screenshot review from Claude to Copilot Claude now handles diff-only Markdown review (frontmatter, shortcodes, style, terminology). Copilot handles visual review by analyzing screenshots posted as images in PR comments. Key changes: - Job 3 (Claude) runs in parallel with Jobs 1→2→4 (diff-only, no screenshots) - Job 4 (Copilot) analyzes screenshots via @copilot PR comment mentions - Two prompt files: doc-review.md (Claude), copilot-visual-review.md (Copilot) - doc-review-agent.md scoped to diff-only (no screenshot analysis) - Q1 resolved: screenshots delivered to Copilot via PR comment images - Reduced Claude API cost (no image processing) - Added Copilot failure handling (fallback to human review of artifacts) https://claude.ai/code/session_01D5rLaHdQv9iBL55UEsdQFt * chore: resolve all open questions in doc review pipeline plan Convert Q2–Q5 from open recommendations to resolved decisions: - Q2: Advisory only (no required status checks) until false-positive rate confirmed - Q3: Playwright for CI screenshots, Puppeteer for local debugging - Q4: Poll preview URL with 15s interval and 10-min timeout - Q5: Cost acceptable with existing mitigations (path filters, skip-review, concurrency) Rename section from "Open Questions" to "Decisions (Resolved)". https://claude.ai/code/session_01D5rLaHdQv9iBL55UEsdQFt * Apply suggestions from code review Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Fix label naming inconsistency and document workflow migration requirements (#6893) * Initial plan * fix: resolve label naming inconsistency and document workflow updates - Rename review:approved to approval:codeowner to avoid confusion with review/* labels - Add note explaining the distinct prefix to prevent implementor confusion - Document required workflow updates for sync-plugin-docs label migration - Specify exact files and line numbers that need updating Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com> * feat(ci): add doc review pipeline and deduplicate instruction files Add Phase 2-3 pipeline components: doc-review workflow (3-job architecture), Claude/Copilot review prompts, URL resolver script, triage and review agents, and label guide. Deduplicate AGENTS.md (254→96 lines) by removing content available in referenced docs. Remove duplicate sections from copilot-instructions.md (264→221 lines). AGENTS.md now contains only high-signal guidelines loaded every session: commands, constraints, style rules, product paths, and reference pointers. * task: updated PR pipeline plan * task: remove old cli plan * task: products file now contains content path mappings and (GitHub) label groups for each product. Product group labels will be used to assign reviewers and help with content checks. * feat(ci): add auto-label workflow for PR product detection Add auto-label workflow that applies product and source labels to PRs based on changed file paths, using data/products.yml as the source of truth. Add workflow-utils.js shared helper for product path matching. * refactor(ci): extract shared label and review format definitions Consolidate duplicated label definitions and review comment format into shared source-of-truth files to prevent context drift. New files: - data/labels.yml: source, waiting, workflow, review, and product:shared label definitions (names, colors, descriptions) - .github/templates/review-comment.md: severity levels, comment structure, result rules, and result-to-label mapping Updated consumers to reference shared files instead of inline copies: - .claude/agents/doc-review-agent.md - .claude/agents/doc-triage-agent.md - .github/prompts/copilot-visual-review.md - .github/LABEL_GUIDE.md Workflow fixes: - Pin all GitHub Actions to SHA hashes - Fix fromJson() for url-count comparison in doc-review.yml - Fix fallback handler to remove all review:* labels before re-adding * refactor(ci): replace Claude review with Copilot native code review - Remove claude-code-action job, use `copilot-reviews` reviewer instead - Extract review criteria to .github/instructions/content-review.instructions.md - Simplify copilot-instructions.md by removing duplicated content - Harden auto-label workflow (scoped permissions, pagination, concurrency) - Upsert visual review comments instead of creating duplicates - Delete unused .github/prompts/doc-review.md * Update .github/workflows/doc-review.yml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update .github/DOC-REVIEW-PIPELINE-PLAN.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * task: update review pipeline plan * task: add label-migration scripts. These are one-use scripts that we'll remove after the label migration * Update .github/workflows/doc-review.yml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update .github/workflows/doc-review.yml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update .github/workflows/auto-label.yml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * style: remove unnecessary escape in regex character class * feat(ci): add workflow_dispatch to auto-label and doc-review workflows - Add workflow_dispatch with pr_number input to both workflows for manual testing and on-demand re-runs - Migrate sync-plugin-docs label references to source:sync - Add area:agents, area:ci, area:links, release:*, good-first-issue, source:feedback, waiting:pr to labels.yml - Update products.yml: influxdb_cloud label_group v2 -> v2-cloud - Track label renames and deletions in LABEL_GUIDE.md * fix(ci): replace npm ci with targeted js-yaml install in auto-label npm ci fails in sparse checkout because package-lock.json is not included. The workflow only needs js-yaml for YAML parsing. * fix(ci): add --legacy-peer-deps to auto-label npm install * task: updated labels for migration * docs: update pipeline plan with test results and completion status * test: reapply reverted serve.md changes for e2e pipeline test Reverse the revert from 2f8efd6 to provide content changes that exercise the auto-label and doc-review workflows end-to-end. * fix(ci): fix preview URL polling in doc-review visual review curl --head outputs response headers before the status code from -w, so STATUS contained "HTTP/2 200 ...200" instead of just "200". Drop --head and add -o /dev/null to capture only the status code. * fix: correct broken fragment links in InfluxDB 3 serve.md files (#6910) * Initial plan * fix: correct broken links in serve.md files for enterprise config-options Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com> * Update content/influxdb3/enterprise/reference/cli/influxdb3/serve.md --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com> Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com> --------- Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 3.3.1 to 3.3.2. - [Release notes](https://github.com/cure53/DOMPurify/releases) - [Commits](cure53/DOMPurify@3.3.1...3.3.2) --- updated-dependencies: - dependency-name: dompurify dependency-version: 3.3.2 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
* Updating changelog * Updating plugin list * Updating product version * Updating plugins --------- Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
* chore: update to 3.8.4 * chore: lint * Apply suggestions from code review * Update content/shared/v3-core-enterprise-release-notes/_index.md --------- Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
…6919) * Initial plan * chore: add preview deployment validation Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com> Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
- Update tar resolution 7.5.7 → 7.5.11 (CVE-2026-26960, CVE-2026-29786) - Remove unused copilot optional dependency (CVE-2026-29783)
…flow (#6918) * Initial plan * fix: use correct API to request Copilot code review in doc-review workflow Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com> Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
…#6917) * Initial plan * fix(vale): add missing Google.Units=NO to product-specific .vale.ini files Duration literals like 7d, 24h, 30d were being flagged as errors when running Vale with product-specific configs because those configs were missing Google.Units = NO. Also adds Vale.Terms = NO, write-good.TooWordy = NO, and TokenIgnores to match the root .vale.ini. Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com> Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
* chore: add hosted influxdb-docs MCP server to .mcp.json Add the hosted InfluxDB documentation search MCP server (influxdb-docs.mcp.kapa.ai) as the primary MCP server using SSE transport. Keep the local server with a note that it uses deprecated endpoints. https://claude.ai/code/session_01SURpmrJ2sxzBtp4euiAxpc * chore: add API key auth option for hosted influxdb-docs MCP server Make the API key-authenticated server the primary entry (influxdb-docs) using Bearer token from DOCS_KAPA_API_KEY env var. Keep the OAuth fallback as influxdb-docs-oauth for users without an API key. https://claude.ai/code/session_01SURpmrJ2sxzBtp4euiAxpc * chore: rename env vars to INFLUXDATA_DOCS_ namespace Rename DOCS_KAPA_API_KEY, DOCS_API_KEY_FILE, DOCS_MODE, and MCP_LOG_LEVEL to use the INFLUXDATA_DOCS_ prefix for consistency. https://claude.ai/code/session_01SURpmrJ2sxzBtp4euiAxpc * docs: add MCP server setup docs for contributors and AI agents Update CLAUDE.md, AGENTS.md, and content-editing SKILL.md with concise documentation for the hosted influxdb-docs MCP server, covering both API key and OAuth authentication options. https://claude.ai/code/session_01SURpmrJ2sxzBtp4euiAxpc * fix: remove cross-agent references from .claude files and AGENTS.md Keep .claude/ files focused on Claude Code. Link AGENTS.md to the published MCP server docs page instead of mentioning tool-specific setup. https://claude.ai/code/session_01SURpmrJ2sxzBtp4euiAxpc --------- Co-authored-by: Claude <noreply@anthropic.com>
Update the date for InfluxDB Docker latest tag change.
Contributor
|
This will need updating for compatibility with: |
6 tasks
…ift (#7005) * Initial plan * chore: rebase onto feat-api-uplift - align branch with feat-api-uplift base Reset branch to exactly match feat-api-uplift state plus the PR fix: - .github/scripts/detect-preview-pages.js: add detectApiPages() and has-api-doc-changes output - .github/workflows/pr-preview.yml: add Build API docs step Removes all master-merge pollution from the branch history so that the PR diff against feat-api-uplift shows only the intended fix changes. Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com>
Contributor
PR PreviewPreview skippedNo pages to preview Checked: 2026-03-29 20:08:16 UTC |
Contributor
|
Closing — the workflow fix (API docs build step, |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
API doc content files (
content/*/api/**/_index.html) are generated byredoc-cliviagenerate-api-docs.shand are gitignored. The PR preview workflow triggered onapi-docs/**changes but never ran the build step, so Hugo had nothing to render for/apipages.Changes
.github/workflows/pr-preview.ymlyarn run build:api-docs) that runs before Hugo whenhas-api-doc-changes == 'true'.github/scripts/detect-preview-pages.jsdetectApiPages()— maps changedapi-docs/{product}/{version}/**files to their preview URLs by parsing each product's.config.ymland extracting API keys:apiDocsfile changes, so PR body URLs are no longer required for API-only PRshas-api-doc-changesoutput consumed by the workflowneeds-author-inputlogic: only fires when no pages were detected by any strategy (content, API auto-detect, or PR body URLs)Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.