admin/render_readmes.rs to correctly identify the readme path #3967
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.
Previously, it would try to get a field called
readme_file
which never existed in the Cargo.toml manifest format. This
fixes it.
https://doc.rust-lang.org/cargo/reference/manifest.html#the-readme-field
I believe the confusion arose because the
cargo package
commandactually converts the readme contents -> readme field and the
Cargo.toml readme field ->
readme_file
field when making therequest to crates.io.
However, in the admin render_readme backfill, it is opening the
original Cargo.toml which has a
readme
field for the path.I manually tested with a local backend/frontend and confirmed that
readme paths were being re-rendered correctly.
Manual test screenshots:
Before this change - after doing a rerender

After this change - after doing a rerender

Repro steps
Set up a local dev environment via the docs/CONTRIBUTING.md instructions.
Publish a package (I used one called
innercrate
) (using above instructions) with nonroot READMERe-render readmes
cargo run --bin crates-admin -- render-readmes --crate innercrate
Look at http://localhost:4200/crates/innercrate