Skip to content

feat: replace fetch-external.sh with version-pinned sync system#3274

Merged
flowzone-app[bot] merged 4 commits intomasterfrom
kyle/sync-external
Jan 26, 2026
Merged

feat: replace fetch-external.sh with version-pinned sync system#3274
flowzone-app[bot] merged 4 commits intomasterfrom
kyle/sync-external

Conversation

@klutchell
Copy link
Copy Markdown
Contributor

@klutchell klutchell commented Jan 20, 2026

Add external-docs.json manifest and sync-external.js to replace shell scripts:

  • Fetch and transform external content with pinned versions
  • Support versioned sources (CLI, SDK, Python SDK) with auto-detected releases
  • Mark versions as latest/supported/deprecated based on release dates
  • Generate dictionary files for version switcher UI
  • Support local source extractions (masterclass partials)
  • Add --repo flag for Renovate to sync by repository

External docs are now committed to git at pinned versions rather than
fetched at build time from master branches. Renovate will create PRs
when upstream repos release new versions.

Removed: fetch-external.sh, build-masterclass.sh, extract-markdown.sh,
versioning.js, github-parser.js, line-by-line dependency

See: https://balena.fibery.io/Work/Improvement/replace-fetch-external.sh-with-version-pinned-sync-system-3663

Comment thread tools/sync-external.js Fixed
@klutchell klutchell force-pushed the kyle/sync-external branch 2 times, most recently from a011d13 to df611d8 Compare January 20, 2026 20:49
Signed-off-by: Kyle Harding <kyle@balena.io>
Comment thread .github/workflows/link-checker.yml
Comment thread tools/sync-external.js Outdated
Comment thread tools/sync-external.js Outdated
Comment thread tools/sync-external.js
Comment thread CONTRIBUTING.md
@klutchell klutchell marked this pull request as ready for review January 22, 2026 14:51
@flowzone-app
Copy link
Copy Markdown
Contributor

flowzone-app Bot commented Jan 22, 2026

Website deployed to CF Pages, 👀 preview link https://e8861108.balenacloud-docs.pages.dev

@flowzone-app flowzone-app Bot enabled auto-merge January 22, 2026 14:53
@klutchell klutchell force-pushed the kyle/sync-external branch 2 times, most recently from 8cde6ab to 1789079 Compare January 22, 2026 15:03
@klutchell klutchell requested a review from drskullster January 22, 2026 15:04
Comment thread .github/workflows/link-checker.yml
Comment thread tools/sync-external.js Outdated
Comment thread tools/sync-external.js Outdated
Comment thread tools/sync-external.js Outdated
Comment thread tools/sync-external.js Outdated
Comment thread tools/sync-external.js Outdated
Comment thread tools/sync-external.js Outdated
Comment thread tools/sync-external.js Outdated
Comment thread tools/sync-external.js
Comment thread tools/sync-external.js Outdated
Comment thread tools/sync-external.js
Comment thread tools/sync-external.js Outdated
Comment thread tools/sync-external.js Outdated
Comment thread tools/sync-external.js Outdated
Comment thread tools/sync-external.js Outdated
Comment thread tools/sync-external.js Outdated
Comment thread tools/sync-external.js Outdated
@klutchell klutchell marked this pull request as draft January 23, 2026 18:56
auto-merge was automatically disabled January 23, 2026 18:56

Pull request was converted to draft

Comment thread tools/sync-external.js Outdated
klutchell and others added 3 commits January 26, 2026 09:06
Add external-docs.json manifest and sync-external.js to replace shell scripts:
- Fetch and transform external content with pinned versions
- Support versioned sources (CLI, SDK, Python SDK) with auto-detected releases
- Mark versions as latest/supported/deprecated based on release dates
- Generate dictionary files for version switcher UI
- Support local source extractions (masterclass partials)
- Add --repo flag for Renovate to sync by repository

External docs are now committed to git at pinned versions rather than
fetched at build time from master branches. Renovate will create PRs
when upstream repos release new versions.

Removed: fetch-external.sh, build-masterclass.sh, extract-markdown.sh,
versioning.js, github-parser.js, line-by-line dependency

Change-type: minor
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Signed-off-by: Kyle Harding <kyle@balena.io>
Add static documentation files synced via sync-external.js:
- Version dictionaries for CLI, Node SDK, and Python SDK
- Masterclass debugging content
- Reference docs (supervisor API, diagnostics, base images, etc.)
- Versioned SDK/CLI documentation snapshots

Update .gitignore to track these files instead of ignoring them,
keeping only truly dynamic content (project lists, device assets)
in the ignore list.

Change-type: minor
Signed-off-by: Kyle Harding <kyle@balena.io>
Signed-off-by: Kyle Harding <kyle@balena.io>
@klutchell klutchell marked this pull request as ready for review January 26, 2026 14:08
@flowzone-app flowzone-app Bot enabled auto-merge January 26, 2026 14:10
@flowzone-app flowzone-app Bot merged commit 3a94299 into master Jan 26, 2026
54 checks passed
@flowzone-app flowzone-app Bot deleted the kyle/sync-external branch January 26, 2026 23:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants