Skip to content

Describe Apple helper and action contracts - #668

Draft
tamird wants to merge 7 commits into
bazelbuild:mainfrom
tamird:type-contracts
Draft

tamird wants to merge 7 commits into
bazelbuild:mainfrom
tamird:type-contracts

Conversation

@tamird

@tamird tamird commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Type the Xcode, lipo, Apple action and DMG helpers where they are defined.
Use comments for Bazel 7.4. Describe the Apple platform provider’s fields
in a companion: its initializer rejects direct construction, but a target
lookup exposes five fields.

Check these contracts with the sty action.
Use a versioned stub for Skylib’s shell helpers until a release includes
their annotations.

The framework-includes fixture passes a depset[str] to
cc_common.create_compilation_context and its result to CcInfo.
rules_cc 0.2.26 leaves both parameters untyped. For the advisory, apply
the two parameter comments from rules_cc #940.
Verifying external stubs for the same calls would require copying the
23-parameter factory and the four-parameter provider initializer. Remove
the patch when the selected rules_cc release types both parameters.

Prepared with Codex for @tamird.

@tamird tamird changed the title Describe platform helper types in bzli Describe Apple helper and action contracts Oct 18, 2026
@tamird
tamird force-pushed the type-contracts branch 4 times, most recently from 0c4c40e to 9c0cd72 Compare October 22, 2026 16:41
@tamird
tamird force-pushed the type-contracts branch 4 times, most recently from f4345a8 to 976acc6 Compare October 29, 2026 18:30
Use source comments for ordinary functions and the DMG repository rule.
Describe platform providers and forwarded action keywords in companion
interfaces so callers and implementations use the same types.
Check repository and toolchain implementations and report findings for
the remaining tracked Starlark files. Validate the shell declarations
against Skylib 1.9.0. Apply the pending rules_cc parameter comments
only in the advisory workspace so native builds use the released C++
toolchain.
Describe the repository context and universal tool inputs in the source.
Let sty discover the other adjacent interfaces and select tracked files
through the shared action.
Place the Xcode context and locator types beside their consumers.
Declare the 7-Zip download fields and function parameters in the
implementation. Remove the three companion files and check these
modules directly.
Identify the native types each exceptional comment needs. Document
the language boundary beside its use.
Follow the repository’s release-tag convention for external actions.
Use the same checkout and checker revisions as the previous workflow.
Set one severity for the eleven strict diagnostics. Let the pinned
checker define the group so an upgrade can extend it without edits to
the project configuration.
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.

1 participant