obi1kenobi / cargo-semver-checks-action

A GitHub Action for running cargo-semver-checks
MIT License
60 stars 15 forks source link

Failing to parse rustdoc format v28 #61

Closed joshlf closed 10 months ago

joshlf commented 10 months ago

Zerocopy's CI jobs started failing yesterday, e.g. here. In total, we've seen this issue on PRs https://github.com/google/zerocopy/pull/749 and https://github.com/google/zerocopy/pull/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 https://github.com/google/zerocopy/pull/748, and its CI tests passed, so I don't believe this is caused by a change in zerocopy's codebase.

obi1kenobi commented 10 months ago

New nightly has a new rustdoc format. It's already supported on HEAD, I just need to find some time to cut a new release.

On Mon, Dec 25, 2023, 7:33 AM Joshua Liebow-Feeser @.***> wrote:

Zerocopy's CI jobs started failing yesterday, e.g. here https://github.com/google/zerocopy/actions/runs/7315752855/job/19929732539?pr=750. In total, we've seen this issue on PRs google/zerocopy#749 https://github.com/google/zerocopy/pull/749 and google/zerocopy#750 https://github.com/google/zerocopy/pull/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 https://github.com/google/zerocopy/pull/748, and its CI tests passed, so I don't believe this is caused by a change in zerocopy's codebase.

— Reply to this email directly, view it on GitHub https://github.com/obi1kenobi/cargo-semver-checks-action/issues/61, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAR5MSR4XNBAZUR2EYEAHMLYLFXC7AVCNFSM6AAAAABBCKOMCGVHI2DSMVQWIX3LMV43ASLTON2WKOZSGA2TKNRWGA2TCMQ . You are receiving this because you are subscribed to this thread.Message ID: @.***>

obi1kenobi commented 10 months ago

cargo-semver-checks main branch HEAD, not this repo

On Mon, Dec 25, 2023, 8:29 AM Predrag Gruevski @.***> wrote:

New nightly has a new rustdoc format. It's already supported on HEAD, I just need to find some time to cut a new release.

On Mon, Dec 25, 2023, 7:33 AM Joshua Liebow-Feeser < @.***> wrote:

Zerocopy's CI jobs started failing yesterday, e.g. here https://github.com/google/zerocopy/actions/runs/7315752855/job/19929732539?pr=750. In total, we've seen this issue on PRs google/zerocopy#749 https://github.com/google/zerocopy/pull/749 and google/zerocopy#750 https://github.com/google/zerocopy/pull/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 https://github.com/google/zerocopy/pull/748, and its CI tests passed, so I don't believe this is caused by a change in zerocopy's codebase.

— Reply to this email directly, view it on GitHub https://github.com/obi1kenobi/cargo-semver-checks-action/issues/61, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAR5MSR4XNBAZUR2EYEAHMLYLFXC7AVCNFSM6AAAAABBCKOMCGVHI2DSMVQWIX3LMV43ASLTON2WKOZSGA2TKNRWGA2TCMQ . You are receiving this because you are subscribed to this thread.Message ID: @.***>

joshlf commented 10 months ago

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 commented 10 months ago

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

obi1kenobi commented 10 months ago

https://github.com/google/zerocopy/pull/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 https://github.com/google/zerocopy/pull/753 may occasionally fall on such an "unlucky" format — in such situations, I'd recommend either:

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 commented 10 months ago

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