Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Failing to parse rustdoc format v28 #61

Closed
joshlf opened this issue Dec 25, 2023 · 6 comments
Closed

Failing to parse rustdoc format v28 #61

joshlf opened this issue Dec 25, 2023 · 6 comments

Comments

@joshlf
Copy link

joshlf commented Dec 25, 2023

Zerocopy's CI jobs started failing yesterday, e.g. here. In total, we've seen this issue on PRs google/zerocopy#749 and google/zerocopy#750. The relevant error seems to be:

/home/runner/.cargo/bin/cargo semver-checks check-release --package zerocopy --all-features
     Parsing zerocopy v0.8.0-alpha.1 (current)
Error: rustdoc format v28 for file /home/runner/work/zerocopy/zerocopy/semver-checks/target/semver-checks/target/doc/zerocopy.json is not supported
Error: The process '/home/runner/.cargo/bin/cargo' failed with exit code 1

The PR most recently merged into main is google/zerocopy#748, and its CI tests passed, so I don't believe this is caused by a change in zerocopy's codebase.

@obi1kenobi
Copy link
Owner

obi1kenobi commented Dec 25, 2023 via email

@obi1kenobi
Copy link
Owner

obi1kenobi commented Dec 25, 2023 via email

@joshlf
Copy link
Author

joshlf commented Dec 25, 2023

Sounds good, thanks! Whenever that happens, could you comment here so I know that these PRs are unblocked? No rush on our side - we're not getting a lot done right now because of the holidays.

joshlf added a commit to google/zerocopy that referenced this issue Dec 26, 2023
As reported in obi1kenobi/cargo-semver-checks-action#61, a recent update
to the nightly toolchain broke cargo-semver-checks. Previously, we were
using the latest nightly toolchain rather than the pinned nightly
toolchain in order to run cargo-semver-checks, which caused our CI to
break when this new nightly was released.

In this commit, we use our pinned nightly version instead, hopefully
avoiding issues like this in the future.
github-merge-queue bot pushed a commit to google/zerocopy that referenced this issue Dec 26, 2023
As reported in obi1kenobi/cargo-semver-checks-action#61, a recent update
to the nightly toolchain broke cargo-semver-checks. Previously, we were
using the latest nightly toolchain rather than the pinned nightly
toolchain in order to run cargo-semver-checks, which caused our CI to
break when this new nightly was released.

In this commit, we use our pinned nightly version instead, hopefully
avoiding issues like this in the future.
@joshlf
Copy link
Author

joshlf commented Dec 26, 2023

Update: we were able to work around this by using our pinned nightly toolchain for cargo-semver-checks in google/zerocopy#753.

@obi1kenobi
Copy link
Owner

google/zerocopy#753 is a good idea.

If you or others would like an SLA for supporting new nightly releases, or extended support for specific Rust versions or rustdoc formats, I'm happy to offer that under a commercial support contract. Please reach out to me over email, which you can find in the cargo-semver-checks project's Cargo.toml.

Otherwise, I aim to support the most recent few stable releases. The exact number of releases left unspecified since it's a function of rustdoc format changes and/or discovered bugs in rustdoc that affect semver-checking. I don't promise any timeline or SLA whatsoever on supporting new nightly releases.

I may also drop support for rustdoc formats that never made it into any stable Rust even though older stable formats may still be supported. For example, cargo-semver-checks v0.24 supported rustdoc formats v24, v26, and v27, and did not support rustdoc v25 because that format was never used in a stable Rust release and was only part of a few nightly Rust versions before being superseded by v26. It's possible that your pinned nightly as in google/zerocopy#753 may occasionally fall on such an "unlucky" format — in such situations, I'd recommend either:

  • choosing a different nightly to pin to, or
  • setting up a support and reciprocal access contract with me so I know to continue supporting those versions.

In the case of Google, I know that the company has signed support and reciprocal access contracts with other open-source maintainers so that'd be something I'd be interested in as well, if you're open to looking into it internally!

@obi1kenobi
Copy link
Owner

The new release is building now and should be available shortly. It will get used automatically once the build completes.
https://github.com/obi1kenobi/cargo-semver-checks/actions/runs/7349612629

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

No branches or pull requests

2 participants