The GitHub Actions job "Scheduled verify release calendar" on airflow.git/main 
has failed.
Run started by GitHub user potiuk (triggered by potiuk).

Head commit for run:
1b902cc409915eb074e283ac042ed84665540d7c / Jason(Zhe-You) Liu 
<[email protected]>
Add TypeScript SDK API reference docs with TypeDoc (#70812)

* Add TypeScript SDK API reference docs via sphinx-js

* Render flattened TSDoc link tags as inline code

Wrapping the referenced identifier in backticks makes it render as an
inline literal and keeps sphinxcontrib-spelling from treating the
identifier as prose, so the build no longer fails on names like
getVariableOrThrow and the spelling wordlist stays clean.

* Build priority docs packages fully even in spellcheck-only mode

Packages whose inventory cannot be fetched (typically brand-new docs
packages not yet published) are built first precisely so that their
objects.inv exists for every other package's intersphinx mapping. The
Sphinx spelling builder never writes objects.inv, so a spellcheck-only
pre-build left the inventory missing, every other package failed
inventory resolution, and the retry logic rebuilt the whole docs set in
up to three additional full passes - the --spellcheck-only CI job ran
2h27m while the equivalent --docs-only job finished in 32m.

* Reword TaskContext.signal TSDoc to avoid non-dictionary word

"abortable" is not in the spellcheck dictionary and docs prose should
not need a wordlist entry for a phrasing that can simply be avoided.

* Resolve the ts-sdk version in publish-docs when no stable.txt is staged

publish-docs resolves every package's version up front via
get_package_version_possibly_from_stable_txt, which knew nothing about
ts-sdk, so the "Publish documentation and validate versions" CI job
failed with "Unsupported package: ts-sdk". Fall back to the version in
ts-sdk/package.json the same way task-sdk falls back to its source
version, matching what DocsPublisher already does.

* Build the TypeScript SDK API reference with TypeDoc instead of sphinx-js

sphinx-js held the docs toolchain back to TypeDoc 0.25 and TypeScript 5.4 —
several majors behind the TypeScript 6 the SDK itself is built with — and its
comment renderer could not represent TSDoc inline tags, so a bundled TypeDoc
plugin had to flatten every `{@link}` into literal text just to keep the build
from crashing. Both the version cap and the workaround existed only to bridge
TypeScript into Sphinx.

Rendering with TypeDoc directly removes that bridge. The toolchain tracks the
same TypeScript the SDK compiles with, the reference is no longer squeezed
through a hand-maintained RST mirror of the public API that had to be updated
whenever an export changed, and cross-references resolve natively. This follows
the precedent already set by the Java SDK, whose Javadoc is built with Dokka
rather than Sphinx and staged into the same publish pipeline.

The package root is the only entry point given to TypeDoc. It already re-exports
everything `./coordinator` exposes, so listing both produced two navigation
sections that documented one API between them, with no symbol unique to either.

Dropping the Python dependency also releases the constraint it dragged in:
sphinx-js required cattrs < 25, which had pinned the whole workspace back from
cattrs 26.1.0 to 24.1.3. The lock file returns to what main resolves.

* Publish the TypeScript SDK API reference automatically

The reference could be built but never published on its own. Three pieces were
missing relative to the Java SDK, whose Javadoc already runs this path end to
end.

`ts-sdk` was absent from NON_SHORT_NAME_PACKAGES, so the S3 publisher treated it
as a provider short name and expanded it to a provider distribution that does
not exist, rather than publishing it as a top-level package.

Nothing built the reference on a pull request. A break in the docs toolchain or
the documented sources would therefore only surface during a release, which is
the worst moment to discover it. The new job gates on its own selective-check
output rather than reusing the ts-sdk test trigger: that group deliberately
ignores Markdown, because a README edit should not run the SDK test suite, but
the landing page is Markdown and the reference is generated from the sources, so
the docs build has to react to both.

Finally, the release procedure was undocumented, leaving no way for a release
manager to know the docs need a separate, deliberate publish — providers-only
publish waves intentionally skip the SDKs.

* Fix TypeDoc build failing to resolve esbuild and @msgpack/msgpack

The docs tsconfig included every file under ts-sdk/src/ as a program root,
which pulled in cli/pack.ts — a CLI-only module unreachable from the public
API that needs the optional esbuild peer dependency the isolated docs
toolchain never installs. Rooting the program at the entry point instead lets
TypeScript's own import graph decide what belongs in the type-checked program,
so unreachable internal modules are no longer swept in.

@msgpack/msgpack is different: coordinator/frames.ts is a real transitive
dependency of the public startCoordinator export (via comm-channel.ts), so
type-checking it needs the package installed, not excluded.

* Fix @msgpack/msgpack still unresolved in a genuinely clean docs install

The previous fix added @msgpack/msgpack to ts-sdk/docs/package.json, but that
alone can't work: Node's module resolution walks node_modules ancestors of
the *importing file* (ts-sdk/src/coordinator/frames.ts), and ts-sdk/docs/ is
a sibling of ts-sdk/src/, never an ancestor. The fix only appeared to succeed
locally because ts-sdk/node_modules already existed from an unrelated pnpm
install and was picked up by that ancestor walk — a genuinely fresh checkout
(matching CI, and reported here) has no such directory.

Redirect the bare specifier with a `paths` entry instead, pointing at where
npm actually installs the package for this toolchain. A path substitution to
the package's directory doesn't trigger its package.json main/types
resolution under node16/nodenext module resolution (verified with
--traceResolution), so the path names the concrete declaration file the
package's own `types` field already points to.

* Restore import statements in TypeScript SDK doc examples

* Address TypeScript SDK docs review feedback

Keeps selective-checks accurate for the new ts-sdk docs build (tsconfig.json
and package.json changes now trigger it, and docs-only package.json/lock
changes no longer trigger the unrelated supervisor-schema check), fixes the
alphabetical ordering of the new run-ts-sdk-docs row, simplifies the
@msgpack/msgpack path mapping to resolve through its package.json instead of
a hardcoded internal path, wraps the long tsconfig.json comment, and aligns
the README's cancellation section wording with task.ts's TSDoc.

Report URL: https://github.com/apache/airflow/actions/runs/31570096529

With regards,
GitHub Actions via GitBox


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to