pub enum EnvSpec {
Map(HashMap<String, String>),
Template(String),
}Expand description
Polymorphic env: block. Normally a map of name → value, but in some
real-world workflows the entire env: value is a template expression
(e.g. env: ${{ matrix }}), where the shape resolves at runtime.
When the value is a template string, downstream code must mark the graph Partial — environment variable shape is unknown to static analysis.
The map variant uses a custom deserializer (deserialize_env_map) that
stringifies scalar values. GHA accepts non-string scalars in env values
(COVERAGE: false, RUST_BACKTRACE: 1, TARGET_FLAGS: (null)); a strict
HashMap<String, String> rejects them and breaks 200+ real-world workflows.
Variants§
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for EnvSpec
impl<'de> Deserialize<'de> for EnvSpec
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for EnvSpec
impl RefUnwindSafe for EnvSpec
impl Send for EnvSpec
impl Sync for EnvSpec
impl Unpin for EnvSpec
impl UnsafeUnpin for EnvSpec
impl UnwindSafe for EnvSpec
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more