feat(ci): skip language toolchains for documentation-only changes - #885
Merged
Merged
Conversation
Classify docs/, .claude/, .agents/, skills/, and unmatched root markdown as language-agnostic so they no longer start the Node, Gradle, or Xcode lanes on their own. Files owned by a project still resolve to that project's toolchain, and shared CI/Nx classification files still enable every toolchain. Also hoists allToolchains() into toolchains.mjs and ignores the generated mobile-visreg maestro output in Prettier. Co-Authored-By: Claude <noreply@anthropic.com>
Collaborator
✅ Heimdall Review Status
✅
|
| Code Owner | Status | Calculation | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| ui-systems-eng-team |
✅
1/1
|
Denominator calculation
|
Google removed the legacy `tools` package from the SDK repository, so `sdkmanager tools` now fails with "Failed to find package 'tools'" and takes the whole setup-android step down before platform-tools or the platform install. Every Gradle-lane run has failed since 2026-09-15. Nothing in the build uses it: the Gradle jobs need platform-tools and the compileSdk platform, AGP fetches build-tools itself, and the sdkmanager / avdmanager binaries it used to carry now live in cmdline-tools, which is preinstalled on the runner. packages/cds-android/README.md already documents the requirements without it. Co-Authored-By: Claude <noreply@anthropic.com>
adrienzheng-cb
approved these changes
Sep 16, 2026
Collaborator
|
Review Error for adrienzheng-cb @ 2026-09-16 17:29:57 UTC |
adrienzheng-cb
self-requested a review
September 16, 2026 17:30
adrienzheng-cb
approved these changes
Sep 16, 2026
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.
What changed? Why?
Extracted from #877 so the CI/Nx classification changes can land independently of the Android
Button port.
The toolchain classifier previously fell through to
node = truefor any changed file it could notattribute to a project or a Gradle/Xcode path. That meant a docs-, skill-, or
AGENTS.md-only editstarted the full Node lane, and a native-only PR that also touched docs started Node alongside
Gradle.
tools/ci/toolchains.mjsnow treatsdocs/,.claude/,.agents/,skills/, and unmatched.md/.mdxfiles as language-agnostic: they do not start Node, Gradle, or Xcode on their own.packages/cds-android/docs/interaction.mdstill routes to Gradle and root Node config(
package.json,eslint.config.mjs) still routes to Node.allToolchains()moved fromclassifyToolchains.mjsintotoolchains.mjsand is now exported,so the fallback path and the classifier share one definition.
.prettierignoreignorespackages/mobile-visreg/maestro-test-output/, which is alreadygitignored but would otherwise fail
nx format:check.docs/ci.mdanddocs/nx.mddocument the new routing.Also drops the legacy
toolspackage from.github/actions/setup-android. Google removed it fromthe SDK repository around 2026-09-15, so
sdkmanager toolsnow fails withFailed to find package 'tools'and takes the whole setup step down beforeplatform-toolsor theplatform are installed. Every Gradle-lane run has failed since — it is unrelated to this PR, but
this PR touches
tools/ci/toolchains.mjs, which enables all toolchains, so it surfaced here.Nothing in the build used it: AGP fetches build-tools itself, and the
sdkmanager/avdmanagerbinaries it carried now live in
cmdline-tools, preinstalled on the runner.Root cause (required for bugfixes)
N/A — CI routing change.
UI changes
Testing
How has it been tested?
Testing instructions
The Android lane running green on this PR is the check for the setup-android fix.
Three new cases in
tools/ci/toolchains.test.mjscover the mixed native + docs change, thedocs/skills-only change, and the root Node config change.
Illustrations/Icons Checklist
Required if this PR changes files under
packages/illustrations/**orpackages/icons/**N/A
Change management
type=routine
risk=low
impact=sev5
automerge=false