# This config is different from config.toml in this directory, as the latter is recognized by Cargo. # This file is placed in $HOME/.cargo/config.toml on CI runs. Cargo then merges Zeds .cargo/config.toml with $HOME/.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. # We *could* override things like RUSTFLAGS manually by setting them as environment variables, but that is less DRY; worse yet, if you forget to set proper environment variables # in one spot, that's going to trigger a rebuild of all of the artifacts. Using ci-config.toml we can define these overrides for CI in one spot and not worry about it. [build] rustflags = ["-D", "warnings"] [alias] xtask = "run --package xtask --"