The test-x86_64-gnu-stdlib-semver-check job runs the cargo-semver-checks (c-s-c) tool on the standard library (core, alloc and std) in order to find potential unintended semantic versioning (semver) breakages. It does so by analyzing the rustdoc JSON output (from the rust-docs-json component) of the parent merge commit, and the current commit being merged. When it runs, one of five things can happen:
rust-lang/rust repository.If you want to let CI pass on a PR where c-s-c detects breakage (whether it is real or not), you have to modify the src/bootstrap/stdlib-semver-check-stamp file. Please update the PR number in which you modify this file at the bottom of the file. This will ensure that the test will stay green, regardless of what c-s-c detects.
You can manually run the semver check locally using ./x test std-semver-check --set rust.stdlib-semver-baseline=${PARENT}, where PARENT is a commit SHA against which you want to compare the in-tree stdlib. If you do not specify it, bootstrap will select the latest upstream commit that it finds in your local git history.