docs: automate PRs for new platform version pages - #3
Merged
chrispaterson merged 1 commit intoAug 27, 2026
Conversation
Add a scheduled workflow that documents new platform versions without manual intervention. sync-platform-versions.py detects versions published to the prod archival endpoint (GRAPH-3604) that lack a page and downloads their bundles; gen-platform-pages.py gains a --version mode and builds its index from pages on disk, so a single new version can be rendered without every other bundle present. The workflow generates, lints, and opens a reviewed PR. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
chrispaterson
marked this pull request as ready for review
August 27, 2026 19:54
chrispaterson
merged commit Aug 27, 2026
4f28570
into
paterson/GRAPH-3863/port-plugin-developer-guide
1 check passed
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.
Description
Automates publishing of the Platform Library Reference pages so a new platform
version gets a documentation PR without manual work.
scripts/sync-platform-versions.py(new) — detects platform versions published to theprod archival endpoint (
graph.adobe.com/graph/platform/, GRAPH-3604) that have no pageyet, and downloads each one's
@graph/platform-exportsbundle. Discovery uses the public,unauthenticated
major/<n>redirect (latest minor per major) andversion/<v>/platform-closure.json, walking each major down until it hits analready-documented version — so it backfills multiple new minors at once and skips
historical gaps (e.g. the 2.2 that never shipped). Stdlib only. The version number always
comes from the endpoint path, never a tarball filename (the exports tarball keeps its
own package version, e.g.
graph-platform-exports-2.11.2.tgzunderversion/2.17/).scripts/gen-platform-pages.py— gains a--version X.Ysingle-version mode, andwrite_index()now derives the version list from the pages present on disk rather thanfrom
BUNDLE_DIR. This lets one new version be rendered with a correct, complete indexwithout needing every other version's bundle available.
.github/workflows/check-platform-version.yml(new) — daily cron + manual dispatch:sync → generate → lint → open a reviewed PR (
peter-evans/create-pull-request).Motivation and Context
Each new platform release ships a fixed set of importable libraries that plugin authors need
documented. Today that page is produced by hand-running
gen-platform-pages.py. This closesthe loop: the docs site polls the same archival endpoint the SDK resolves against, and opens
a ready-to-review PR whenever a new version appears — keeping the reference current with no
standing manual step.
How Has This Been Tested?
Verified end-to-end against the live prod endpoint (
graph.adobe.com):version path returns 200 JSON from a non-corp vantage, unknown majors 404,
major/<n>302-redirects to the latest minor.
2.17bundle and running--version 2.17reproduces the committed page and index with an empty git diff.
2.18produces a new page and moves the— latestmarkercorrectly in the index.
nothing and downloads nothing (workflow no-ops).
2.17(stops at the first already-documented version below it).py_compileclean.Screenshots (if appropriate):
Types of changes
Checklist: