Commit Graph

15 Commits (influxdb-3.4-updates)

Author SHA1 Message Date
Jason Stirnaman 194bf0446d fix(ci): update link-checker to v1.2.3 to fix false positives for new content
- 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
2025-08-22 17:30:36 -05:00
Jason Stirnaman cba3b21f1c docs(testing): document link-checker binary release process
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.
2025-08-18 18:02:44 -05:00
Jason Stirnaman e10340b6ec chore(ci): Add config for new link validation tool (docs-tooling/link-checker)
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
2025-08-16 22:14:27 -05:00
Jason Stirnaman 89739cd792 chore(ci): temporarily disable link validation workflow
- 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
2025-07-29 23:09:00 -05:00
Jason Stirnaman eac1acfdf8 ci: fix timeout command, set timeout options, enhance logging:
1. Timeout Handling: Proper timeout command syntax
  with specific timeout error detection
  2. Process Management: Environment variable for Hugo
   shutdown timeout
  3. Debugging: Enhanced log collection and artifact
  uploads
  4. Error Context: Better error messages that help
  identify root causes (EPIPE, timeouts, etc.)
  5. Resource Constraints: Memory limits and
  CI-specific optimizations
2025-07-28 21:03:31 -05:00
Jason Stirnaman d762e7800e fix: apply code review suggestions: High Priority Issues (Fixed):
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
2025-07-28 16:24:24 -05:00
Jason Stirnaman 6a4e8827eb feat(testing): add link validation automation and improvements
- 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
2025-07-28 16:24:24 -05:00
Jason Stirnaman 105938f3aa Updated all README files in the
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.
2025-07-07 12:45:48 -05:00
Jason Stirnaman a1d7a6399c chore(ci): Migrate generate-release-notes.sh to generate-release-notes.js. Update and cleanup workflows to use the new script and the Markdown-formatted output. 2025-07-07 12:13:37 -05:00
Jason Stirnaman 6506c5ff5d chore(ci): Cleanup JS 2025-07-07 12:13:36 -05:00
Jason Stirnaman 1cb33bfb13 chore(ci): Validate git tags for workflows: - Reusable utility for validating git tags across all
scripts
  - Supports special case for local development mode
  - Provides helpful error messages with available tags
  - Can be used as CLI tool or imported module
2025-07-07 12:13:36 -05:00
Jason Stirnaman fa069a77ea fix(ci): GitHub Actions:\Usage Examples
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
2025-07-07 12:13:36 -05:00
Jason Stirnaman 786f44cbe2 fix(ci): replace the problematic multi-line template
literal with an array of strings that gets joined with
  newlines, which avoids the YAML parsing issues with backticks
  and special characters.
2025-07-07 12:13:36 -05:00
Jason Stirnaman c74060210b chore(ci): Audit documentation for changes to influxdb3 CLI. Configures a GitHub release workflow to generate release notes and run the audit documentation script. 2025-07-07 12:13:36 -05:00
Jason Stirnaman 9a4721aa40 chore(ci): Automation scripts to compare influxdb3 CLI help to reference documentation and generate an audit report, runs influxdb3 core and enterprise using Docker, improves compose.yaml, restructures helper-scripts for different versions 2025-07-07 12:13:36 -05:00