From d645e7521566c1332b13832eab2619af271404a0 Mon Sep 17 00:00:00 2001 From: meelahme Date: Mon, 10 Nov 2025 08:56:21 -0800 Subject: [PATCH 01/13] fix: use PAT for reading from influxdb3_plugins --- .github/workflows/sync-plugins.yml | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/.github/workflows/sync-plugins.yml b/.github/workflows/sync-plugins.yml index d850122ee7..3cceb1b816 100644 --- a/.github/workflows/sync-plugins.yml +++ b/.github/workflows/sync-plugins.yml @@ -80,11 +80,15 @@ jobs: token: ${{ secrets.GITHUB_TOKEN }} - name: Checkout influxdb3_plugins (sparse) - run: | - git clone --filter=blob:none --sparse https://github.com/influxdata/influxdb3_plugins.git .ext/influxdb3_plugins - cd .ext/influxdb3_plugins - git sparse-checkout set influxdata/ scripts/ - git checkout ${{ steps.inputs.outputs.source_commit }} + uses: actions/checkout@v4 + with: + repository: influxdata/influxdb3_plugins + token: ${{ secrets.PLUGINS_CONTENT_READ_TOKEN }} + path: .ext/influxdb3_plugins + sparse-checkout: | + influxdata/ + scripts/ + ref: ${{ steps.inputs.outputs.source_commit }} - name: Setup Node.js uses: actions/setup-node@v4 From df8d5f837879d3a025ccd1b3af6ba8844b08d6a8 Mon Sep 17 00:00:00 2001 From: meelahme Date: Mon, 10 Nov 2025 10:00:39 -0800 Subject: [PATCH 02/13] fix: combine PAT and path fixes for plugin sync --- .github/workflows/sync-plugins.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/sync-plugins.yml b/.github/workflows/sync-plugins.yml index 3cceb1b816..b1501042ca 100644 --- a/.github/workflows/sync-plugins.yml +++ b/.github/workflows/sync-plugins.yml @@ -179,21 +179,21 @@ jobs: - name: Transform plugin documentation if: steps.validate.outputs.validation_passed == 'true' run: | - cd docs-v2 - - # Set PLUGIN_DIR for the transformation script - export INFLUXDB3_PLUGINS_PATH=".ext/influxdb3_plugins" - + cd docs-v2/helper-scripts/influxdb3-plugins # ← CHANGE: Run from script directory + + # Set path to plugins repo (relative from script directory) + export INFLUXDB3_PLUGINS_PATH="../../../.ext/influxdb3_plugins" # ← CHANGE: Adjust relative path + # Run the transformation if [[ "${{ steps.inputs.outputs.plugins }}" == "all" ]]; then - node helper-scripts/influxdb3-plugins/port_to_docs.js + node port_to_docs.js # ← CHANGE: Script is in current dir now else # Transform specific plugins IFS=',' read -ra PLUGIN_ARRAY <<< "${{ steps.inputs.outputs.plugins }}" for plugin in "${PLUGIN_ARRAY[@]}"; do plugin=$(echo "$plugin" | xargs) # trim whitespace echo "Transforming plugin: $plugin" - node helper-scripts/influxdb3-plugins/port_to_docs.js --plugin "$plugin" + node port_to_docs.js --plugin "$plugin" # ← CHANGE: Script is in current dir done fi From e18e2a1dafb723ccf4c88db8def47c8d3d4ec90c Mon Sep 17 00:00:00 2001 From: meelahme Date: Fri, 14 Nov 2025 10:28:02 -0800 Subject: [PATCH 03/13] debug: add file structure inspection to identify path issue --- .github/workflows/sync-plugins.yml | 85 ++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) diff --git a/.github/workflows/sync-plugins.yml b/.github/workflows/sync-plugins.yml index b1501042ca..4b2a6c28c7 100644 --- a/.github/workflows/sync-plugins.yml +++ b/.github/workflows/sync-plugins.yml @@ -176,6 +176,91 @@ jobs: core.setFailed('Plugin validation failed'); + - name: Debug - Check file structure + if: steps.validate.outputs.validation_passed == 'true' + run: | + echo "======================================" + echo "DEBUG: Checking file structure" + echo "======================================" + echo "" + + echo "1. Current working directory:" + pwd + echo "" + + echo "2. List workspace root:" + ls -la + echo "" + + echo "3. Check if .ext exists:" + if [ -d ".ext" ]; then + echo "✅ .ext directory exists" + ls -la .ext/ + else + echo "❌ .ext directory NOT found" + fi + echo "" + + echo "4. Check if .ext/influxdb3_plugins exists:" + if [ -d ".ext/influxdb3_plugins" ]; then + echo "✅ .ext/influxdb3_plugins exists" + ls -la .ext/influxdb3_plugins/ + else + echo "❌ .ext/influxdb3_plugins NOT found" + fi + echo "" + + echo "5. Check if influxdata directory exists:" + if [ -d ".ext/influxdb3_plugins/influxdata" ]; then + echo "✅ influxdata directory exists" + ls -la .ext/influxdb3_plugins/influxdata/ + else + echo "❌ influxdata directory NOT found" + fi + echo "" + + echo "6. Check if basic_transformation exists:" + if [ -d ".ext/influxdb3_plugins/influxdata/basic_transformation" ]; then + echo "✅ basic_transformation directory exists" + ls -la .ext/influxdb3_plugins/influxdata/basic_transformation/ + else + echo "❌ basic_transformation directory NOT found" + fi + echo "" + + echo "7. Now checking from script directory:" + cd docs-v2/helper-scripts/influxdb3-plugins + echo "Current directory:" + pwd + echo "" + + echo "8. Trying to access with ../../../.ext/influxdb3_plugins:" + if [ -d "../../../.ext/influxdb3_plugins" ]; then + echo "✅ Can access via ../../../.ext/influxdb3_plugins" + ls -la ../../../.ext/influxdb3_plugins/ + else + echo "❌ Cannot access via ../../../.ext/influxdb3_plugins" + fi + echo "" + + echo "9. Checking all possible paths from script dir:" + echo "Checking ../.ext/influxdb3_plugins:" + ls -la ../.ext/influxdb3_plugins/ 2>&1 || echo "❌ Not found" + echo "" + echo "Checking ../../.ext/influxdb3_plugins:" + ls -la ../../.ext/influxdb3_plugins/ 2>&1 || echo "❌ Not found" + echo "" + echo "Checking ../../../.ext/influxdb3_plugins:" + ls -la ../../../.ext/influxdb3_plugins/ 2>&1 || echo "❌ Not found" + echo "" + echo "Checking ../../../../.ext/influxdb3_plugins:" + ls -la ../../../../.ext/influxdb3_plugins/ 2>&1 || echo "❌ Not found" + echo "" + + echo "======================================" + echo "DEBUG: Complete" + echo "======================================" + - name: Transform plugin documentation if: steps.validate.outputs.validation_passed == 'true' run: | From 930bb7091bbb1975357c5343c0ccc29475e6f195 Mon Sep 17 00:00:00 2001 From: meelahme Date: Fri, 14 Nov 2025 10:52:35 -0800 Subject: [PATCH 04/13] fix: correct relative path to influxdb3_plugins dir --- .github/workflows/sync-plugins.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/sync-plugins.yml b/.github/workflows/sync-plugins.yml index 4b2a6c28c7..de59f5aef8 100644 --- a/.github/workflows/sync-plugins.yml +++ b/.github/workflows/sync-plugins.yml @@ -264,10 +264,10 @@ jobs: - name: Transform plugin documentation if: steps.validate.outputs.validation_passed == 'true' run: | - cd docs-v2/helper-scripts/influxdb3-plugins # ← CHANGE: Run from script directory + cd docs-v2/helper-scripts/influxdb3-plugins # Set path to plugins repo (relative from script directory) - export INFLUXDB3_PLUGINS_PATH="../../../.ext/influxdb3_plugins" # ← CHANGE: Adjust relative path + export INFLUXDB3_PLUGINS_PATH="../../../.ext/influxdb3_plugins" # Run the transformation if [[ "${{ steps.inputs.outputs.plugins }}" == "all" ]]; then @@ -278,7 +278,7 @@ jobs: for plugin in "${PLUGIN_ARRAY[@]}"; do plugin=$(echo "$plugin" | xargs) # trim whitespace echo "Transforming plugin: $plugin" - node port_to_docs.js --plugin "$plugin" # ← CHANGE: Script is in current dir + node port_to_docs.js --plugin "$plugin" done fi From 9d1ce68001afa297c2f8db27c4f0bb6caea7cef5 Mon Sep 17 00:00:00 2001 From: meelahme Date: Fri, 14 Nov 2025 12:27:43 -0800 Subject: [PATCH 05/13] fix: correct relative path depth in docs_mapping.yaml --- .../influxdb3-plugins/docs_mapping.yaml | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/helper-scripts/influxdb3-plugins/docs_mapping.yaml b/helper-scripts/influxdb3-plugins/docs_mapping.yaml index 35c0447b0a..3cb89e22bb 100644 --- a/helper-scripts/influxdb3-plugins/docs_mapping.yaml +++ b/helper-scripts/influxdb3-plugins/docs_mapping.yaml @@ -3,7 +3,7 @@ plugins: basic_transformation: - source: ../../.ext/influxdb3_plugins/influxdata/basic_transformation/README.md + source: ../../../.ext/influxdb3_plugins/influxdata/basic_transformation/README.md target: ../../content/shared/influxdb3-plugins/plugins-library/official/basic-transformation.md category: official additional_sections: @@ -11,7 +11,7 @@ plugins: - logging downsampler: - source: ../../.ext/influxdb3_plugins/influxdata/downsampler/README.md + source: ../../../.ext/influxdb3_plugins/influxdata/downsampler/README.md target: ../../content/shared/influxdb3-plugins/plugins-library/official/downsampler.md category: official additional_sections: @@ -19,63 +19,63 @@ plugins: - logging forecast_error_evaluator: - source: ../../.ext/influxdb3_plugins/influxdata/forecast_error_evaluator/README.md + source: ../../../.ext/influxdb3_plugins/influxdata/forecast_error_evaluator/README.md target: ../../content/shared/influxdb3-plugins/plugins-library/official/forecast-error-evaluator.md category: official additional_sections: - logging influxdb_to_iceberg: - source: ../../.ext/influxdb3_plugins/influxdata/influxdb_to_iceberg/README.md + source: ../../../.ext/influxdb3_plugins/influxdata/influxdb_to_iceberg/README.md target: ../../content/shared/influxdb3-plugins/plugins-library/official/influxdb-to-iceberg.md category: official additional_sections: - logging mad_check: - source: ../../.ext/influxdb3_plugins/influxdata/mad_check/README.md + source: ../../../.ext/influxdb3_plugins/influxdata/mad_check/README.md target: ../../content/shared/influxdb3-plugins/plugins-library/official/mad-check.md category: official additional_sections: - logging notifier: - source: ../../.ext/influxdb3_plugins/influxdata/notifier/README.md + source: ../../../.ext/influxdb3_plugins/influxdata/notifier/README.md target: ../../content/shared/influxdb3-plugins/plugins-library/official/notifier.md category: official additional_sections: - logging prophet_forecasting: - source: ../../.ext/influxdb3_plugins/influxdata/prophet_forecasting/README.md + source: ../../../.ext/influxdb3_plugins/influxdata/prophet_forecasting/README.md target: ../../content/shared/influxdb3-plugins/plugins-library/official/prophet-forecasting.md category: official additional_sections: - logging state_change: - source: ../../.ext/influxdb3_plugins/influxdata/state_change/README.md + source: ../../../.ext/influxdb3_plugins/influxdata/state_change/README.md target: ../../content/shared/influxdb3-plugins/plugins-library/official/state-change.md category: official additional_sections: - logging stateless_adtk_detector: - source: ../../.ext/influxdb3_plugins/influxdata/stateless_adtk_detector/README.md + source: ../../../.ext/influxdb3_plugins/influxdata/stateless_adtk_detector/README.md target: ../../content/shared/influxdb3-plugins/plugins-library/official/stateless-adtk-detector.md category: official additional_sections: - logging system_metrics: - source: ../../.ext/influxdb3_plugins/influxdata/system_metrics/README.md + source: ../../../.ext/influxdb3_plugins/influxdata/system_metrics/README.md target: ../../content/shared/influxdb3-plugins/plugins-library/official/system-metrics.md category: official additional_sections: - logging threshold_deadman_checks: - source: ../../.ext/influxdb3_plugins/influxdata/threshold_deadman_checks/README.md + source: ../../../.ext/influxdb3_plugins/influxdata/threshold_deadman_checks/README.md target: ../../content/shared/influxdb3-plugins/plugins-library/official/threshold-deadman-checks.md category: official additional_sections: From e0d56ad41e24b2ece715dd400087fcd4dde7000a Mon Sep 17 00:00:00 2001 From: meelahme Date: Fri, 14 Nov 2025 13:25:54 -0800 Subject: [PATCH 06/13] fix: added npm install playwrite --- .github/workflows/sync-plugins.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/sync-plugins.yml b/.github/workflows/sync-plugins.yml index de59f5aef8..dcb08b0215 100644 --- a/.github/workflows/sync-plugins.yml +++ b/.github/workflows/sync-plugins.yml @@ -290,6 +290,7 @@ jobs: - name: Setup Playwright run: | cd docs-v2 + npm install playwright npx playwright install chromium - name: Generate screenshots From fcda45422c5bb1fac5b1eb38c6ff6d46a84368a9 Mon Sep 17 00:00:00 2001 From: meelahme Date: Mon, 17 Nov 2025 11:12:07 -0800 Subject: [PATCH 07/13] fix: convert relative README links to full GitHub URLs --- .../influxdb3-plugins/port_to_docs.js | 23 +++++++++++++++---- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/helper-scripts/influxdb3-plugins/port_to_docs.js b/helper-scripts/influxdb3-plugins/port_to_docs.js index 590b45b0f2..32d5bce2f4 100644 --- a/helper-scripts/influxdb3-plugins/port_to_docs.js +++ b/helper-scripts/influxdb3-plugins/port_to_docs.js @@ -39,23 +39,36 @@ function removeEmojiMetadata(content) { */ function convertRelativeLinks(content, pluginName) { const baseUrl = `https://github.com/influxdata/influxdb3_plugins/blob/master/influxdata/${pluginName}/`; + const rootUrl = 'https://github.com/influxdata/influxdb3_plugins/blob/master/'; + + // Convert relative README links (../../README.md, ../README.md, etc.) + content = content.replace( + /\[([^\]]+)\]\((\.\.\/)+README\.md\)/g, + `[$1](${rootUrl}README.md)` + ); // Convert TOML file links content = content.replace( - /\[([^\]]+\.toml)\]\(([^)]+\.toml)\)/g, - (match, linkText, linkPath) => `[${linkText}](${baseUrl}${linkPath})` + /\[([^\]]+\.toml)\]\(\.?\/?([^)]+\.toml)\)/g, + (match, linkText, linkPath) => { + const cleanPath = linkPath.replace(/^\.\//, ''); + return `[${linkText}](${baseUrl}${cleanPath})`; + } ); // Convert Python file links content = content.replace( - /\[([^\]]+\.py)\]\(([^)]+\.py)\)/g, - (match, linkText, linkPath) => `[${linkText}](${baseUrl}${linkPath})` + /\[([^\]]+\.py)\]\(\.?\/?([^)]+\.py)\)/g, + (match, linkText, linkPath) => { + const cleanPath = linkPath.replace(/^\.\//, ''); + return `[${linkText}](${baseUrl}${cleanPath})`; + } ); // Convert main README reference content = content.replace( '[influxdb3_plugins/README.md](/README.md)', - '[influxdb3_plugins/README.md](https://github.com/influxdata/influxdb3_plugins/blob/master/README.md)' + `[influxdb3_plugins/README.md](${rootUrl}README.md)` ); return content; From 34f1b9833bf48ce58b38d4563fc670b879c8594b Mon Sep 17 00:00:00 2001 From: meelahme Date: Mon, 17 Nov 2025 12:13:04 -0800 Subject: [PATCH 08/13] add functino to clean up title formatting --- helper-scripts/influxdb3-plugins/port_to_docs.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/helper-scripts/influxdb3-plugins/port_to_docs.js b/helper-scripts/influxdb3-plugins/port_to_docs.js index 32d5bce2f4..7db5dc41a9 100644 --- a/helper-scripts/influxdb3-plugins/port_to_docs.js +++ b/helper-scripts/influxdb3-plugins/port_to_docs.js @@ -34,12 +34,22 @@ function removeEmojiMetadata(content) { return content.replace(pattern, ''); } +/** + * Clean up title formatting. + */ +function cleanTitle(content) { + // Remove duplicate # from titles (e.g., "# # Title" -> "# Title") + content = content.replace(/^#\s+#\s+(.+)$/m, '# $1'); + return content; +} + /** * Convert relative links to GitHub URLs. */ function convertRelativeLinks(content, pluginName) { const baseUrl = `https://github.com/influxdata/influxdb3_plugins/blob/master/influxdata/${pluginName}/`; - const rootUrl = 'https://github.com/influxdata/influxdb3_plugins/blob/master/'; + const rootUrl = + 'https://github.com/influxdata/influxdb3_plugins/blob/master/'; // Convert relative README links (../../README.md, ../README.md, etc.) content = content.replace( From 469be4349572c818f47bb76070bc40e203be817a Mon Sep 17 00:00:00 2001 From: meelahme Date: Mon, 17 Nov 2025 12:16:07 -0800 Subject: [PATCH 09/13] update to transformContent function --- helper-scripts/influxdb3-plugins/port_to_docs.js | 1 + 1 file changed, 1 insertion(+) diff --git a/helper-scripts/influxdb3-plugins/port_to_docs.js b/helper-scripts/influxdb3-plugins/port_to_docs.js index 7db5dc41a9..867603ca58 100644 --- a/helper-scripts/influxdb3-plugins/port_to_docs.js +++ b/helper-scripts/influxdb3-plugins/port_to_docs.js @@ -241,6 +241,7 @@ function transformContent(content, pluginName, config) { content = addProductShortcodes(content); content = enhanceOpeningParagraph(content); content = fixCodeBlockFormatting(content); + content = cleanTitle(content); // Add schema requirements if applicable if ( From 9e35deabf9aadd1cd5ebce7766590d46e1f732d6 Mon Sep 17 00:00:00 2001 From: meelahme Date: Mon, 17 Nov 2025 13:07:37 -0800 Subject: [PATCH 10/13] removed clean title function and expanded abbreviations --- .../influxdb3-plugins/port_to_docs.js | 22 ++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/helper-scripts/influxdb3-plugins/port_to_docs.js b/helper-scripts/influxdb3-plugins/port_to_docs.js index 867603ca58..4d02084953 100644 --- a/helper-scripts/influxdb3-plugins/port_to_docs.js +++ b/helper-scripts/influxdb3-plugins/port_to_docs.js @@ -35,11 +35,22 @@ function removeEmojiMetadata(content) { } /** - * Clean up title formatting. + * Remove standalone Description heading. */ -function cleanTitle(content) { - // Remove duplicate # from titles (e.g., "# # Title" -> "# Title") - content = content.replace(/^#\s+#\s+(.+)$/m, '# $1'); +function removeDescriptionHeading(content) { + // Remove "## Description" heading when it appears alone on a line + content = content.replace(/^##\s+Description\s*$/m, ''); + return content; +} + +/** + * Expand common abbreviations for readability. + */ +function expandAbbreviations(content) { + // Replace e.g., with "for example," + content = content.replace(/\be\.g\.,\s*/g, 'for example, '); + // Replace i.e., with "that is," + content = content.replace(/\bi\.e\.,\s*/g, 'that is, '); return content; } @@ -237,11 +248,12 @@ Each downsampled record includes three additional metadata columns: function transformContent(content, pluginName, config) { // Apply transformations in order content = removeEmojiMetadata(content); + content = removeDescriptionHeading(content); content = convertRelativeLinks(content, pluginName); + content = expandAbbreviations(content); content = addProductShortcodes(content); content = enhanceOpeningParagraph(content); content = fixCodeBlockFormatting(content); - content = cleanTitle(content); // Add schema requirements if applicable if ( From 3c30f1943693420de6f38070f04d33d1e2c5b4e3 Mon Sep 17 00:00:00 2001 From: meelahme Date: Mon, 17 Nov 2025 13:30:01 -0800 Subject: [PATCH 11/13] Disable screenshot generation for MVP --- .github/workflows/sync-plugins.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/sync-plugins.yml b/.github/workflows/sync-plugins.yml index dcb08b0215..47de19a377 100644 --- a/.github/workflows/sync-plugins.yml +++ b/.github/workflows/sync-plugins.yml @@ -294,6 +294,7 @@ jobs: npx playwright install chromium - name: Generate screenshots + if: false # Disable screenshots for MVP id: screenshots run: | cd docs-v2 From 6f59a220562c0977f85d8feacf8e090bb5c415a2 Mon Sep 17 00:00:00 2001 From: meelahme Date: Mon, 17 Nov 2025 14:03:41 -0800 Subject: [PATCH 12/13] converting TOML links to internal section links --- helper-scripts/influxdb3-plugins/port_to_docs.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/helper-scripts/influxdb3-plugins/port_to_docs.js b/helper-scripts/influxdb3-plugins/port_to_docs.js index 4d02084953..6242dab5a7 100644 --- a/helper-scripts/influxdb3-plugins/port_to_docs.js +++ b/helper-scripts/influxdb3-plugins/port_to_docs.js @@ -54,6 +54,20 @@ function expandAbbreviations(content) { return content; } +/** + * Convert README TOML links to internal section links. + */ +function convertTomlReadmeLinks(content) { + // If document has TOML configuration section, link to it instead of external README + if (content.includes('## Using TOML Configuration Files')) { + content = content.replace( + /\[([^\]]*TOML[^\]]*)\]\(https:\/\/github\.com\/influxdata\/influxdb3_plugins\/blob\/master\/README\.md\)/gi, + '[$1](#using-toml-configuration-files)' + ); + } + return content; +} + /** * Convert relative links to GitHub URLs. */ @@ -251,6 +265,7 @@ function transformContent(content, pluginName, config) { content = removeDescriptionHeading(content); content = convertRelativeLinks(content, pluginName); content = expandAbbreviations(content); + content = convertTomlReadmeLinks(content); content = addProductShortcodes(content); content = enhanceOpeningParagraph(content); content = fixCodeBlockFormatting(content); From 0e66ac67ffa066e16736ac596c49c75713b63ffc Mon Sep 17 00:00:00 2001 From: meelahme Date: Tue, 18 Nov 2025 17:02:52 -0800 Subject: [PATCH 13/13] add function to remove title headings --- helper-scripts/influxdb3-plugins/port_to_docs.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/helper-scripts/influxdb3-plugins/port_to_docs.js b/helper-scripts/influxdb3-plugins/port_to_docs.js index 6242dab5a7..324bf2bd83 100644 --- a/helper-scripts/influxdb3-plugins/port_to_docs.js +++ b/helper-scripts/influxdb3-plugins/port_to_docs.js @@ -34,6 +34,14 @@ function removeEmojiMetadata(content) { return content.replace(pattern, ''); } +/** + * Remove level 1 heading from content. + */ +function removeTitleHeading(content) { + // Title is in frontmatter, remove H1 from content + return content.replace(/^#\s+.+$\n*/m, ''); +} + /** * Remove standalone Description heading. */ @@ -262,6 +270,7 @@ Each downsampled record includes three additional metadata columns: function transformContent(content, pluginName, config) { // Apply transformations in order content = removeEmojiMetadata(content); + content = removeTitleHeading(content); content = removeDescriptionHeading(content); content = convertRelativeLinks(content, pluginName); content = expandAbbreviations(content);