mirror of
https://github.com/zed-industries/zed.git
synced 2025-01-24 11:01:54 +00:00
92f05d1ab1
While working on PR #23117, I noticed that the Windows runner in our CI setup doesn't seem to respect the settings defined in `.cargo/config.toml`. With @SomeoneToIgnore ’s help, Kirill and I realized this issue isn’t limited to the Windows runner—all of our runners disregard the configurations in `.cargo/config.toml`. Later, @osiewicz suggested an excellent workaround. I conducted some tests on PR #23117 and found that the solution works as intended. Personally, I prefer using environment variables for global configuration. However, according to the documentation [here](https://doc.rust-lang.org/cargo/reference/config.html), it seems that environment variables always override the settings in `.cargo/config.toml`. Release Notes: - N/A
12 lines
1.2 KiB
TOML
12 lines
1.2 KiB
TOML
# This config is different from config.toml in this directory, as the latter is recognized by Cargo.
|
|
# This file is placed in ./../.cargo/config.toml on CI runs. Cargo then merges Zeds .cargo/config.toml with ./../.cargo/config.toml
|
|
# with preference for settings from Zeds config.toml.
|
|
# TL;DR: If a value is set in both ci-config.toml and config.toml, config.toml value takes precedence.
|
|
# Arrays are merged together though. See: https://doc.rust-lang.org/cargo/reference/config.html#hierarchical-structure
|
|
# The intent for this file is to configure CI build process with a divergance from Zed developers experience; for example, in this config file
|
|
# we use `-D warnings` for rustflags (which makes compilation fail in presence of warnings during build process). Placing that in developers `config.toml`
|
|
# would be incovenient.
|
|
# The reason for not using the RUSTFLAGS environment variable is that doing so would override all the settings in the config.toml file, even if the contents of the latter are completely nonsensical. See: https://github.com/rust-lang/cargo/issues/5376
|
|
# Here, we opted to use `[target.'cfg(all())']` instead of `[build]` because `[target.'**']` is guaranteed to be cumulative.
|
|
[target.'cfg(all())']
|
|
rustflags = ["-D", "warnings"]
|