Skip to content

Update cargo to 0.87.1 #2071

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

Merged
merged 5 commits into from
Apr 16, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -114,8 +114,8 @@ jobs:
#
# We want the four parts to have similar runtimes.
BENCH_INCLUDE_EXCLUDE_OPTS: [
"--include cargo-0.60.0,stm32f4-0.14.0,webrender-2022",
"--exclude cargo-0.60.0,stm32f4-0.14.0,webrender-2022",
"--include cargo-0.60.0,cargo-0.87.1,stm32f4-0.14.0,webrender-2022",
"--exclude cargo-0.60.0,cargo-0.87.1,stm32f4-0.14.0,webrender-2022",
]
PROFILES: [
"Check,Debug,Doc",
Expand Down
2 changes: 2 additions & 0 deletions collector/compile-benchmarks/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ They mostly consist of real-world crates.
`N` value from 1 to 1024.
- **cargo-0.60.0**: The Rust package manager. A large program, and an important
part of the Rust ecosystem.
- **cargo-0.87.1**: The Rust package manager. A large program, and an important
part of the Rust ecosystem.
- **clap-3.1.6**: A command line argument parser library. A crate used by many
Rust programs.
- **cranelift-codegen-0.82.1**: The largest crate from a code generator. Used by
Expand Down
5 changes: 5 additions & 0 deletions collector/compile-benchmarks/REUSE.toml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,11 @@ path = "cargo-0.60.0/**"
SPDX-FileCopyrightText = "The Rust Project Developers (see https://thanks.rust-lang.org)"
SPDX-License-Identifier = "MIT OR Apache-2.0"

[[annotations]]
path = "cargo-0.87.1/**"
SPDX-FileCopyrightText = "The Rust Project Developers (see https://thanks.rust-lang.org)"
SPDX-License-Identifier = "MIT OR Apache-2.0"

[[annotations]]
path = "clap-3.1.6/**"
SPDX-FileCopyrightText = "clap contributors"
Expand Down
10 changes: 10 additions & 0 deletions collector/compile-benchmarks/cargo-0.87.1/.cargo/config.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
[alias]
build-man = "run --package xtask-build-man --"
stale-label = "run --package xtask-stale-label --"
bump-check = "run --package xtask-bump-check --"
lint-docs = "run --package xtask-lint-docs --"

[env]
# HACK: Until this is stabilized, `snapbox`s polyfill could get confused
# inside of the rust-lang/rust repo because it looks for the furthest-away `Cargo.toml`
CARGO_RUSTC_CURRENT_DIR = { value = "", relative = true }
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"git": {
"sha1": "ab9915ce5d9de5e1f2fb3c10378a353ca88693f2"
},
"path_in_vcs": ""
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: Bug Report
description: Create a report to help us improve
labels: ["C-bug", "S-triage"]
body:
- type: markdown
attributes:
value: Thanks for filing a 🐛 bug report 😄!
- type: textarea
id: problem
attributes:
label: Problem
description: >
Please provide a clear and concise description of what the bug is,
including what currently happens and what you expected to happen.
validations:
required: true
- type: textarea
id: steps
attributes:
label: Steps
description: Please list the steps to reproduce the bug.
placeholder: |
1.
2.
3.
- type: textarea
id: possible-solutions
attributes:
label: Possible Solution(s)
description: >
Not obligatory, but suggest a fix/reason for the bug,
or ideas how to implement the addition or change.
- type: textarea
id: notes
attributes:
label: Notes
description: Provide any additional notes that might be helpful.
- type: textarea
id: version
attributes:
label: Version
description: Please paste the output of running `cargo version --verbose`.
render: text
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
contact_links:
- name: Question
url: https://users.rust-lang.org
about: >
Got a question about Cargo? Ask the community on the user forum.
- name: Inspiring Idea
url: https://internals.rust-lang.org/c/tools-and-infrastructure/cargo
about: >
Need more discussions with your next big idea?
Reach out the coummunity on the internals forum.
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Feature Request
description: Suggest an idea for enhancing Cargo
labels: ["C-feature-request", "S-triage"]
body:
- type: markdown
attributes:
value: |
Thanks for filing a 🙋 feature request 😄!

If the feature request is relatively small and already with a possible solution, this might be the place for you.

If you are brewing a big feature that needs feedback from the community, [the internal forum] is the best fit, especially for pre-RFC. You can also talk the idea over with other developers in [#t-cargo Zulip stream].

[the internal forum]: https://internals.rust-lang.org/c/tools-and-infrastructure/cargo/15
[#t-cargo Zulip stream]: https://rust-lang.zulipchat.com/#narrow/stream/246057-t-cargo
- type: textarea
id: problem
attributes:
label: Problem
description: >
Please provide a clear description of your use case and the problem
this feature request is trying to solve.
validations:
required: true
- type: textarea
id: solution
attributes:
label: Proposed Solution
description: >
Please provide a clear and concise description of what you want to happen.
- type: textarea
id: notes
attributes:
label: Notes
description: Provide any additional context or information that might be helpful.
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Tracking Issue
description: A tracking issue for an accepted feature or RFC in Cargo.
title: "Tracking Issue for _FEATURE_NAME_"
labels: ["C-tracking-issue"]
body:
- type: markdown
attributes:
value: >
Thank you for creating a tracking issue! Tracking issues are for tracking an
accepted feature or RFC from implementation to stabilization. Please do not
file a tracking issue until the feature or RFC has been approved.
- type: textarea
id: summary
attributes:
label: Summary
description: Please provide a very brief summary of the feature.
value: |
RFC: [#NNNN](https://github.com/rust-lang/rfcs/pull/NNNN) <!-- If this is an RFC -->
Original issue: #NNNN <!-- if there is a related issue that spawned this feature -->
Implementation: #NNNN <!-- link to the PR that implemented this feature if applicable -->
Documentation: https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#my-feature

Please enter a short, one-sentence description here.
validations:
required: true
- type: textarea
id: unresolved
attributes:
label: Unresolved Issues
description: List issues that have not yet been resolved.
placeholder: |
* [ ] Make a list of any known implementation or design issues.
- type: textarea
id: future
attributes:
label: Future Extensions
description: >
An optional section where you can mention where the feature may be
extended in the future, but is explicitly not intended to
address.
- type: textarea
id: about
attributes:
label: About tracking issues
description: Please include this notice in the issue.
value: |
Tracking issues are used to record the overall progress of implementation.
They are also used as hubs connecting to other relevant issues, e.g., bugs or open design questions.
A tracking issue is however *not* meant for large scale discussion, questions, or bug reports about a feature.
Instead, open a dedicated issue for the specific matter and add the relevant feature gate label.
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
<!--
Thanks for submitting a pull request 🎉! Here are some tips for you:

* If this is your first contribution, read "Cargo Contribution Guide" first:
https://doc.crates.io/contrib/
* Run `cargo fmt --all` to format your code changes.
* Small commits and pull requests are always preferable and easy to review.
* If your idea is large and needs feedback from the community, read how:
https://doc.crates.io/contrib/process/#working-on-large-features
* Cargo takes care of compatibility. Read our design principles:
https://doc.crates.io/contrib/design.html
* When changing help text of cargo commands, follow the steps to generate docs:
https://github.com/rust-lang/cargo/tree/master/src/doc#building-the-man-pages
* If your PR is not finished, set it as "draft" PR or add "WIP" in its title.
* It's ok to use the CI resources to test your PR, but please don't abuse them.

### What does this PR try to resolve?

Explain the motivation behind this change.
A clear overview along with an in-depth explanation are helpful.

You can use `Fixes #<issue number>` to associate this PR to an existing issue.

### How should we test and review this PR?

Demonstrate how you test this change and guide reviewers through your PR.
With a smooth review process, a pull request usually gets reviewed quicker.

If you don't know how to write and run your tests, please read the guide:
https://doc.crates.io/contrib/tests

### Additional information

Other information you want to mention in this PR, such as prior arts,
future extensions, an unresolved problem, or a TODO list.
-->
98 changes: 98 additions & 0 deletions collector/compile-benchmarks/cargo-0.87.1/.github/renovate.json5
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
{
schedule: [
'before 5am on the first day of the month',
],
semanticCommits: 'enabled',
configMigration: true,
dependencyDashboard: true,
ignorePaths: [
'**/tests/**',
],
// See rust-lang/cargo#13546 and openssl/openssl#23376 for the exclusion
ignoreDeps: ['openssl', 'openssl-src', 'openssl-sys'],
customManagers: [
{
customType: 'regex',
fileMatch: [
'Cargo.toml$',
],
matchStrings: [
'\\bMSRV:1\\b.*?(?<currentValue>\\d+\\.\\d+(\\.\\d+)?)',
'(?<currentValue>\\d+\\.\\d+(\\.\\d+)?).*?\\bMSRV:1\\b',
],
depNameTemplate: 'MSRV:1', // Support 1 version of rustc
packageNameTemplate: 'rust-lang/rust',
datasourceTemplate: 'github-releases',
},
{
customType: 'regex',
fileMatch: [
'Cargo.toml$',
],
matchStrings: [
'\\bMSRV:3\\b.*?(?<currentValue>\\d+\\.\\d+(\\.\\d+)?)',
'(?<currentValue>\\d+\\.\\d+(\\.\\d+)?).*?\\bMSRV:3\\b',
],
depNameTemplate: 'MSRV:3', // Support 3 versions of rustc
packageNameTemplate: 'rust-lang/rust',
datasourceTemplate: 'github-releases',
},
],
packageRules: [
{
commitMessageTopic: 'MSRV (1 version)',
matchManagers: [
'custom.regex',
],
matchDepNames: [
'MSRV:1',
],
extractVersion: '^(?<version>\\d+\\.\\d+)', // Drop the patch version
schedule: [
'* * * * *',
],
groupName: 'msrv',
},
{
commitMessageTopic: 'MSRV (3 versions)',
matchManagers: [
'custom.regex',
],
matchDepNames: [
'MSRV:3',
],
extractVersion: '^(?<version>\\d+\\.\\d+)', // Drop the patch version
schedule: [
'* * * * *',
],
minimumReleaseAge: '85 days', // 2 releases back * 6 weeks per release * 7 days per week + 1
internalChecksFilter: 'strict',
groupName: 'msrv',
},
// Goals:
// - Rollup safe upgrades to reduce CI runner load
// - Have lockfile and manifest in-sync (implicit rules)
{
matchManagers: [
'cargo',
],
matchCurrentVersion: '>=0.1.0',
matchUpdateTypes: [
'patch',
],
automerge: false,
groupName: 'compatible',
},
{
matchManagers: [
'cargo',
],
matchCurrentVersion: '>=1.0.0',
matchUpdateTypes: [
'minor',
],
automerge: false,
groupName: 'compatible',
},
],
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Security audit

permissions:
contents: read

on:
pull_request:
paths:
- '**/Cargo.toml'
- '**/Cargo.lock'
push:
branches:
- master

jobs:
cargo_deny:
runs-on: ubuntu-latest
strategy:
matrix:
checks:
- advisories
- bans licenses sources
steps:
- uses: actions/checkout@v4
- uses: EmbarkStudios/cargo-deny-action@v2
# Prevent sudden announcement of a new advisory from failing ci:
continue-on-error: ${{ matrix.checks == 'advisories' }}
with:
command: check ${{ matrix.checks }}
rust-version: stable
Loading
Loading