fix: playbook files permission mode incompatible with Windows

This commit is contained in:
wendrul
2024-11-18 20:16:46 +01:00
parent 88b8ffab90
commit 01af6ce116
+6
View File
@@ -229,12 +229,18 @@ pub fn write_file_at_user_defined_location(
let mut file = File::create(full_path)?;
#[cfg(unix)]
if let Some(mode) = mode {
let perm = std::os::unix::fs::PermissionsExt::from_mode(mode);
file.set_permissions(perm)
.map_err(|e| anyhow!("Failed to set permissions to {}: {e}", user_defined_path))?;
}
#[cfg(windows)]
if mode.is_some() {
tracing::error!("Cannot use `mode` to set file permissions on windows workers");
}
file.write_all(content.as_bytes())?;
file.flush()?;
Ok(normalized_full_path)