- Use link-checker-v1.2.3 which includes fix for base URL detection
- Prevents false positives when checking local files for new pages
- Resolves broken link errors for pages that exist locally but not in production yet
Add comprehensive documentation for maintainers on how to:
- Create releases in docs-tooling (automated)
- Manually distribute binaries to docs-v2 (required for private repo)
- Update workflow references when needed
This addresses the missing process documentation for link-checker
binary distribution between the two repositories.
feat(ci): update link-checker to v1.2.2 and add manual sync workflow
- Update pr-link-check.yml to use link-checker-v1.2.2 with latest fixes
- Add sync-link-checker-binary.yml for manual binary distribution
- Improvements in v1.2.2: base URL detection, anchor validation, JSON parsing
The v1.2.2 release fixes the Hugo base URL detection issue and
improves anchor link validation that was tested in this PR.
chore(ci): Replaced PR link validation workflow with new workflow from docs-tooling/link-checker/.github-workflows-link-check.yml
chore: organize .gitignore
test: add content to trigger link-checker workflow
This small change tests the pr-link-check.yml workflow
feat: update link-checker workflow and documentation
- Add production config with corrected User-Agent placement
- Remove old link validation actions (replaced by link-checker)
fix: update link-checker workflow configuration
- Update Node.js version to 20 for dependency compatibility
feat: use pre-built link-checker binary from docs-tooling releases
- Replace building from source with downloading from releases
- Use GitHub API to get latest release and binary
- Maintain same artifact structure for downstream job
fix: improve change detection in pr-link-check workflow
- Use GitHub API for reliable PR file detection
- Add debug output to show all changed files
- Fix conditional logic for when jobs should run
docs: update TESTING.md with binary distribution and automated GitHub Actions integration
- Document pre-built binary download as recommended installation method
- Explain automated PR link checking workflow for docs-v2
- Replace manual GitHub Actions example with automated integration details
- Remove exaggerated language and specify actual exclusion types
fix(ci): download link-checker binary from docs-v2 releases
- Change binary source from private docs-tooling to public docs-v2 releases
- Fixes GitHub Actions permission issues accessing private repos
- Binary is now stored as a release asset on docs-v2 itself
test: add test file with valid links to verify workflow passes
test: remove temporary test file for link checker workflow
The test file was only needed to verify the workflow functionality
and should not be part of the documentation.
docs: update TESTING.md to document docs-v2 binary distribution
- Change primary installation method to download from docs-v2 releases
- Explain that binary distribution enables reliable GitHub Actions access
- Update automated workflow description to reflect docs-v2 release usage
- Maintain build-from-source as alternative option
refactor(ci): combine workflow into single job for cleaner PR display
- Merge detect-changes, build-site, and download-link-checker into single job
- All setup steps now run conditionally within one job
- Cleaner PR display shows only 'Check links in affected files'
- Maintains all functionality with improved UX
fix(ci): exclude problematic URLs from link checking
- Add reddit.com exclusions (blocks bots)
- Add support.influxdata.com exclusion (SSL certificate issues in CI)
- Prevents false positive failures in automated link checking
- Add if: false conditions to all jobs to prevent execution
- Add disabled-check job to indicate the workflow is disabled
- Preserves original conditions in comments for easy re-enabling
To re-enable: Remove the 'if: false' conditions and disabled-check job
- Fix Test Setup Validation to handle edge cases without false failures
- Remove unnecessary Cypress artifacts upload (screenshots/videos)
- Reduce verbose logging while maintaining debugging capability
- Add clear success/failure reporting with actionable messages
- Improve handling of empty test subjects and fallback scenarios
The test now only fails for genuine setup issues, not configuration
edge cases like empty subject lists or cache optimization scenarios.
- Fix GitHub Actions exit logic to only fail when broken links exist
- Improve Cypress test error handling with robust fallback mechanism
- Enhance Test Setup Validation to handle cache scenarios correctly
The workflow was incorrectly failing when generating success comments
with cache statistics, treating any comment generation as broken links.
Now properly distinguishes between success messages and actual failures.
Verification Results
- Direct module loading: ✅ Works perfectly
- Incremental validation: ✅ Processes files correctly
- Subprocess calls: ✅ No EPIPE errors
- Cache functionality: ✅ Operating normally
🔧 Technical Details
- All modules now use CommonJS require() statements
- Proper module.exports for compatibility
- File extensions changed to .cjs to work with type:
module in package.json
- Maintained all existing functionality and error
handling
during execution
- Resource management: Reducing memory pressure in
CI that causes process termination
- Signal handling: Properly cleaning up processes
on unexpected termination
- Timeout adjustments: Giving more time for
operations in CI environments
3. The Test Setup Validation Failure: This was
happening because the before() hook was failing when
it couldn't communicate with a dead Hugo process.
Your health monitoring will catch this earlier and
provide better error messages.
statements inside the async callback to ensure
subjects array is populated before accessing its
length
2. Proper Async Handling: Used
cy.wrap(Promise.all()) to handle multiple async
Cypress tasks correctly
3. Maintained Functionality: All existing GitHub
Actions workflows and Cypress tests will
continue to work
Both naming conventions are appropriate for
their use cases:
- filePathToUrl: Transforms content file paths
to URL paths
- fileURLToPath: Converts ES module file URLs to
file system paths
1. Script execution detection in matrix-generator.js -
Added fileURLToPath import and updated comparison
2. Script execution detection in incremental-validator.js -
Added fileURLToPath import and updated comparison
3. Script execution detection in link-extractor.js - Added
fileURLToPath import and updated comparison
4. Script execution detection in comment-generator.js -
Added fileURLToPath import and updated comparison
Medium Priority Issues (Fixed):
5. Extracted duplicated URL transformation logic - Created
shared utility module and updated both files to use it
6. Fixed cache key strategy - Updated GitHub workflow to
use content-based hashing instead of base SHA
Changes Made:
- 4 JavaScript files: Updated with robust script execution
detection using fileURLToPath
- 1 utility module: Created
/.github/scripts/utils/url-transformer.js for shared logic
- 2 files: Updated to use the shared URL transformation
utility
- 1 workflow file: Improved cache key strategy for better
cache hit rates
- Add GitHub Actions for automated link validation on PRs
- Implement incremental validation with caching (30-day TTL, configurable)
- Add matrix generator for parallel validation strategy
- Create comprehensive TESTING.md documentation
- Add cache manager with configurable TTL via env var or CLI
- Implement smart link extraction and validation
- Add PR comment generator for broken link reports
- Update Cypress tests to use incremental validation
- Consolidate testing docs from CONTRIBUTING.md to TESTING.md
Key improvements:
- Cache-aware validation only checks changed content
- Parallel execution for large changesets
- Detailed PR comments with broken link reports
- Support for LINK_CACHE_TTL_DAYS env var
- Local testing with yarn test:links
- Reduced false positives through intelligent caching
helper-scripts directory to:
1. Main helper-scripts/README.md:
Updated to describe
generate-release-notes.js instead of
the old bash script, including new
configuration options and examples.
2. helper-scripts/common/README.md:
Updated to describe the JavaScript
version with all its new features like
configuration files,
integrated/separated formats, and PR
link options.
3. helper-scripts/influxdb3-monolith/RE
ADME.md: Completely updated to reflect
the actual JavaScript scripts present
(audit-cli-documentation.js and
apply-cli-patches.js) instead of the
non-existent bash scripts, updated
prerequisites, examples, and workflow
documentation.
that provides Claude with detailed instructions
for enhancing release notes.
The command includes specific transformation
patterns for different components (database, CLI,
API, etc.) and provides fallback templates for
handling edge cases. It also includes error
handling for common issues like rate limits and
private repositories.
scripts
- Supports special case for local development mode
- Provides helpful error messages with available tags
- Can be used as CLI tool or imported module
Now you can run specific audits directly:
# Run specific audits
gh act workflow_dispatch -j cli-3-enterprise
gh act workflow_dispatch -j cli-3-core
gh act workflow_dispatch -j api-3-cloud-dedicated
# Run with custom version
gh act workflow_dispatch -j cli-3-enterprise --input
version=3.1.0
# Run all audits (scheduled behavior)
gh act workflow_dispatch
chore: Modify AI instructions build script to optimize and reduce instructions size. Add test examples for later
chore: Modify AI instructions build script to optimize and reduce instructions size. Add test examples for later
fix(qol): Agent-agnostic contributing instructions
chore(test): Untrack influxdb3 data and plugins used in Docker configurations and testing
chore(test): Untrack influxdb3 data and plugins used in Docker configurations and testing
chore: Modify AI instructions build script to optimize and reduce instructions size. Add test examples for later
- Add CLI ref for influxdb3 update table and ret. period option in Ent- Change volume source to /test for core and ent3 in compose.yaml
- Add alt_links instructions in CONTRIBUTING.md
The CLAUDE.md file successfully references 5 key files, all of which exist and are accessible:
1. @README → README.md - Project overview and setup
2. @package.json → package.json - NPM scripts and dependencies
3. @.github/copilot-instructions.md → Main style guidelines and product info
4. @.github/instructions/contributing.instructions.md → Detailed contributing guide
5. @.github/instructions/influxdb3-code-placeholders.instructions.md → InfluxDB 3 specific
guidelines
📊 Current Structure Analysis
The CLAUDE.md file acts as a minimal index that:
- Delegates detailed instructions to other files
- Uses Claude's @ symbol notation for file references
- Provides a clear hierarchy of information
💡 Key Instructions Coverage
Through the linked files, Claude has access to:
- Product documentation paths for all InfluxDB versions
- Style guidelines following Google Developer Documentation standards
- Shortcode usage with extensive examples
- Testing procedures including pytest-codeblocks
- Development workflows with Docker and Node.js
- Placeholder conventions for code examples
- Frontmatter requirements for Hugo pages
- Add a script and pre-commit command to generate a CoPilot instructions file from CONTRIBUTING.md guidelines.
- Add custom instructions for CoPilot to help with influxdb3 placeholders
- Admin UI: console URL
- Admin UI: add management features to existing admin pages
- Add a View account page for Admin UI
- Add screenshots
- Add Admin UI page to reference
- Alias reference/cli to influxctl until we expect more.
- Add key features list to influxctl reference
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>