chore(ci): enforce external type allow-list in public API#4204
Merged
dignifiedquire merged 5 commits intomainfrom Apr 30, 2026
Merged
chore(ci): enforce external type allow-list in public API#4204dignifiedquire merged 5 commits intomainfrom
dignifiedquire merged 5 commits intomainfrom
Conversation
Foreign types in our public API block semver-breaking updates of those crates during 1.0. #3177 tracks reducing that surface to a curated allow list. This adds a `check_external_types` CI job that runs `cargo-check-external-types` against `iroh-base`, `iroh-dns`, `iroh-dns-server`, `iroh`, and `iroh-relay` against a shared `external-types.toml` at the workspace root. Closes #3177.
The workflow-level RUSTDOCFLAGS turns unrelated rustdoc lints (e.g. `private-intra-doc-links`) into hard errors during the JSON rustdoc invocation that `cargo-check-external-types` drives, making the job fail on pre-existing doc issues that have nothing to do with the public API surface this job is meant to enforce. The tool's rustdoc output is internal scaffolding for analysis, not user-facing docs, so clearing RUSTDOCFLAGS for this job is the right scope.
|
Documentation for this PR has been generated and is available at: https://n0-computer.github.io/iroh/pr/4204/docs/iroh/ Last updated: 2026-04-30T15:44:23Z |
8991101 to
4b1f8fb
Compare
dignifiedquire
approved these changes
Apr 30, 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.
Description
Foreign types in our public API block semver-breaking updates of those
crates during 1.0. #3177 tracks reducing that surface to a curated
allow list.
This adds a
check_external_typesCI job that runscargo-check-external-typesagainst all workspace crates against ashared
external-types.tomlat the workspace root.Closes #3177.
Change checklist