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

fix(script): Process config relative to script, not CWD #12303

Merged
merged 2 commits into from
Jun 22, 2023

Conversation

epage
Copy link
Contributor

@epage epage commented Jun 22, 2023

What does this PR try to resolve?

This is part of the work for #12207.

When you put in your path foo.rs:

#!/usr/bin/env cargo

fn main() {}

You expect it to build once and then repeatedly run the same version. However, .cargo/config.toml doesn't work like that (normally). It is an environment file, like .env, and is based on your current working directory. So if you run foo.rs from within a random project, it might rebuild due to RUSTFLAGS in .cargo/config.toml.

I had some concern about whether this current behavior is right or not and noted this in the Pre-RFC. This came up again while we were discussing editions on zulip. In looking further into this, it turns out we already have precedence for this with cargo install --path <path>.

How should we test and review this PR?

The second commit has the fix, the docs, and a change to a test (from the first commit) to show that the fix actually changed behavior.

@rustbot
Copy link
Collaborator

rustbot commented Jun 22, 2023

r? @weihanglo

(rustbot has picked a reviewer for you, use r? to override)

@rustbot rustbot added A-cli Area: Command-line interface, option parsing, etc. A-documenting-cargo-itself Area: Cargo's documentation Command-run S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jun 22, 2023
@joshtriplett
Copy link
Member

@bors r+

@bors
Copy link
Contributor

bors commented Jun 22, 2023

📌 Commit 78334e8 has been approved by joshtriplett

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jun 22, 2023
@bors
Copy link
Contributor

bors commented Jun 22, 2023

⌛ Testing commit 78334e8 with merge 2035d0d...

@bors
Copy link
Contributor

bors commented Jun 22, 2023

☀️ Test successful - checks-actions
Approved by: joshtriplett
Pushing 2035d0d to master...

@bors bors merged commit 2035d0d into rust-lang:master Jun 22, 2023
@epage epage deleted the config branch June 23, 2023 00:15
compiler-errors added a commit to compiler-errors/rust that referenced this pull request Jun 24, 2023
Update cargo

8 commits in 4cebd130ebca3bc219180a54f3e26cc1b14a91de..03bc66b55c290324bd46eb22e369c8fae1908f91
2023-06-21 18:59:29 +0000 to 2023-06-23 23:27:46 +0000
- fix(script): Be quiet on programmatic output (rust-lang/cargo#12305)
- docs(unstable): Update script documentation (rust-lang/cargo#12308)
- cargo script example needs nightly -Zscript feature (rust-lang/cargo#12287)
- fix(script): Process config relative to script, not CWD (rust-lang/cargo#12303)
- -Znext-lockfile-bump: Don't suggest using -Z on stable (rust-lang/cargo#12302)
- build(deps): bump openssl from 0.10.54 to 0.10.55 (rust-lang/cargo#12300)
- Add `.toml` file extension restriction for `-Zconfig-include` (rust-lang/cargo#12298)
- docs(unstable): Point stable-unstable docs to nightly docs (rust-lang/cargo#12299)

r? `@ghost`
@ehuss ehuss added this to the 1.72.0 milestone Jul 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-cli Area: Command-line interface, option parsing, etc. A-documenting-cargo-itself Area: Cargo's documentation Command-run S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants