Skip to content

Commit 331917a

Browse files
authored
chore: drop serde_yaml rename (#2015)
* chore(deps): drop serde_yaml rename, use yaml_serde directly The workspace currently aliases yaml_serde 0.10 as serde_yaml via Cargo package renaming. This was a useful porting convenience when migrating away from the deprecated serde_yaml 0.9, but now that the migration is complete it actively confuses readers: the manifest says serde_yaml, the source says serde_yaml::Value, but the actual crate is yaml_serde. This bit downstream consumers of yamlpatch 1.25.0, whose public Op::Replace(serde_yaml::Value) signature is in fact Op::Replace(yaml_serde::Value) due to this same rename. Downstream code that constructed a real serde_yaml::Value saw an unreadable "expected yaml_serde::Value, found serde_yaml::Value" error. Switch the workspace dependency from serde_yaml = { package = "yaml_serde", version = "0.10" } to yaml_serde = "0.10" and rename all ~249 source references from serde_yaml:: to yaml_serde::. This brings the manifest, source code, and compiler diagnostics into agreement. No behavior change. cargo check, cargo fmt --check, and the non-network-dependent test suites pass on the workspace. * chore: add .git-blame-ignore-revs for mechanical rename Lists the serde_yaml -> yaml_serde rename commit so `git blame` and GitHub's blame view skip it and surface the prior author of each touched line instead. Run once locally to opt in: git config blame.ignoreRevsFile .git-blame-ignore-revs GitHub honors the file automatically.
1 parent 506f085 commit 331917a

28 files changed

Lines changed: 241 additions & 239 deletions

.git-blame-ignore-revs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# chore(deps): drop serde_yaml rename, use yaml_serde directly
2+
d706f97cf294e09f4a3d22c2dc8b32a54a2fe508

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ serde = { version = "1.0.228", features = ["derive"] }
6666
serde-sarif = "0.8.0"
6767
serde_json = "1.0.149"
6868
serde_json_path = "0.7.2"
69-
serde_yaml = { package = "yaml_serde", version = "0.10" }
69+
yaml_serde = "0.10"
7070
tar = "0.4.45"
7171
terminal-link = "0.1.0"
7272
thiserror = "2.0.18"

crates/github-actions-models/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ workspace = true
1919
indexmap.workspace = true
2020
self_cell.workspace = true
2121
serde.workspace = true
22-
serde_yaml.workspace = true
22+
yaml_serde.workspace = true
2323
tracing.workspace = true
2424

2525
[dev-dependencies]

crates/github-actions-models/src/action.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -213,10 +213,10 @@ mod tests {
213213

214214
#[test]
215215
fn test_docker_action_uses_deserialization() {
216-
let uses: DockerActionUses = serde_yaml::from_str("Dockerfile").unwrap();
216+
let uses: DockerActionUses = yaml_serde::from_str("Dockerfile").unwrap();
217217
assert!(matches!(uses, DockerActionUses::Dockerfile));
218218

219-
let uses: DockerActionUses = serde_yaml::from_str("ubuntu:latest").unwrap();
219+
let uses: DockerActionUses = yaml_serde::from_str("ubuntu:latest").unwrap();
220220
assert!(matches!(uses, DockerActionUses::Image(_)));
221221
}
222222
}

crates/github-actions-models/src/common.rs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -585,13 +585,13 @@ mod tests {
585585
#[test]
586586
fn test_permissions() {
587587
assert_eq!(
588-
serde_yaml::from_str::<Permissions>("read-all").unwrap(),
588+
yaml_serde::from_str::<Permissions>("read-all").unwrap(),
589589
Permissions::Base(BasePermission::ReadAll)
590590
);
591591

592592
let perm = "security-events: write";
593593
assert_eq!(
594-
serde_yaml::from_str::<Permissions>(perm).unwrap(),
594+
yaml_serde::from_str::<Permissions>(perm).unwrap(),
595595
Permissions::Explicit(IndexMap::from([(
596596
"security-events".into(),
597597
Permission::Write
@@ -603,7 +603,7 @@ mod tests {
603603
fn test_env_empty_value() {
604604
let env = "foo:";
605605
assert_eq!(
606-
serde_yaml::from_str::<Env>(env).unwrap()["foo"],
606+
yaml_serde::from_str::<Env>(env).unwrap()["foo"],
607607
EnvValue::String("".into())
608608
);
609609
}
@@ -999,7 +999,7 @@ mod tests {
999999
struct Dummy(#[serde(deserialize_with = "reusable_step_uses")] Uses);
10001000

10011001
insta::assert_debug_snapshot!(
1002-
serde_yaml::from_str::<Dummy>(
1002+
yaml_serde::from_str::<Dummy>(
10031003
"octo-org/this-repo/.github/workflows/workflow-1.yml@172239021f7ba04fe7327647b213799853a9eb89"
10041004
)
10051005
.map(|d| d.0)
@@ -1023,7 +1023,7 @@ mod tests {
10231023
);
10241024

10251025
insta::assert_debug_snapshot!(
1026-
serde_yaml::from_str::<Dummy>(
1026+
yaml_serde::from_str::<Dummy>(
10271027
"octo-org/this-repo/.github/workflows/workflow-1.yml@notahash"
10281028
).map(|d| d.0).unwrap(),
10291029
@r#"
@@ -1045,7 +1045,7 @@ mod tests {
10451045
);
10461046

10471047
insta::assert_debug_snapshot!(
1048-
serde_yaml::from_str::<Dummy>(
1048+
yaml_serde::from_str::<Dummy>(
10491049
"octo-org/this-repo/.github/workflows/workflow-1.yml@abcd"
10501050
).map(|d| d.0).unwrap(),
10511051
@r#"
@@ -1068,31 +1068,31 @@ mod tests {
10681068

10691069
// Invalid: remote reusable workflow without ref
10701070
insta::assert_debug_snapshot!(
1071-
serde_yaml::from_str::<Dummy>(
1071+
yaml_serde::from_str::<Dummy>(
10721072
"octo-org/this-repo/.github/workflows/workflow-1.yml"
10731073
).map(|d| d.0).unwrap_err(),
10741074
@r#"Error("malformed `uses` ref: missing `@<ref>` in octo-org/this-repo/.github/workflows/workflow-1.yml")"#
10751075
);
10761076

10771077
// Invalid: local reusable workflow with ref
10781078
insta::assert_debug_snapshot!(
1079-
serde_yaml::from_str::<Dummy>(
1079+
yaml_serde::from_str::<Dummy>(
10801080
"./.github/workflows/workflow-1.yml@172239021f7ba04fe7327647b213799853a9eb89"
10811081
).map(|d| d.0).unwrap_err(),
10821082
@r#"Error("local reusable workflow reference can't specify `@<ref>`")"#
10831083
);
10841084

10851085
// Invalid: no ref at all
10861086
insta::assert_debug_snapshot!(
1087-
serde_yaml::from_str::<Dummy>(
1087+
yaml_serde::from_str::<Dummy>(
10881088
".github/workflows/workflow-1.yml"
10891089
).map(|d| d.0).unwrap_err(),
10901090
@r#"Error("malformed `uses` ref: missing `@<ref>` in .github/workflows/workflow-1.yml")"#
10911091
);
10921092

10931093
// Invalid: missing user/repo
10941094
insta::assert_debug_snapshot!(
1095-
serde_yaml::from_str::<Dummy>(
1095+
yaml_serde::from_str::<Dummy>(
10961096
"workflow-1.yml@172239021f7ba04fe7327647b213799853a9eb89"
10971097
).map(|d| d.0).unwrap_err(),
10981098
@r#"Error("malformed `uses` ref: owner/repo slug is too short: workflow-1.yml@172239021f7ba04fe7327647b213799853a9eb89")"#

crates/github-actions-models/src/common/expr.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ mod tests {
104104

105105
for case in cases {
106106
let case = format!("\"{case}\"");
107-
assert!(serde_yaml::from_str::<ExplicitExpr>(&case).is_err());
107+
assert!(yaml_serde::from_str::<ExplicitExpr>(&case).is_err());
108108
}
109109
}
110110

@@ -119,7 +119,7 @@ mod tests {
119119
("${{ foo }}", "foo"),
120120
] {
121121
let case = format!("\"{case}\"");
122-
let expr: ExplicitExpr = serde_yaml::from_str(&case).unwrap();
122+
let expr: ExplicitExpr = yaml_serde::from_str(&case).unwrap();
123123
assert_eq!(expr.as_bare(), *expected);
124124
}
125125
}
@@ -128,20 +128,20 @@ mod tests {
128128
fn test_loe() {
129129
let lit = "\"normal string\"";
130130
assert_eq!(
131-
serde_yaml::from_str::<LoE<String>>(lit).unwrap(),
131+
yaml_serde::from_str::<LoE<String>>(lit).unwrap(),
132132
LoE::Literal("normal string".to_string())
133133
);
134134

135135
let expr = "\"${{ expr }}\"";
136136
assert!(matches!(
137-
serde_yaml::from_str::<LoE<String>>(expr).unwrap(),
137+
yaml_serde::from_str::<LoE<String>>(expr).unwrap(),
138138
LoE::Expr(_)
139139
));
140140

141141
// Invalid expr deserializes as string.
142142
let invalid = "\"${{ invalid \"";
143143
assert_eq!(
144-
serde_yaml::from_str::<LoE<String>>(invalid).unwrap(),
144+
yaml_serde::from_str::<LoE<String>>(invalid).unwrap(),
145145
LoE::Literal("${{ invalid ".to_string())
146146
);
147147
}

crates/github-actions-models/src/workflow/event.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -358,7 +358,7 @@ pull_request:
358358
workflow_dispatch:
359359
issue_comment:";
360360

361-
let events = serde_yaml::from_str::<super::Events>(events).unwrap();
361+
let events = yaml_serde::from_str::<super::Events>(events).unwrap();
362362
assert_eq!(events.count(), 4);
363363
}
364364
}

crates/github-actions-models/src/workflow/job.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
33
use indexmap::IndexMap;
44
use serde::Deserialize;
5-
use serde_yaml::Value;
5+
use yaml_serde::Value;
66

77
use crate::common::expr::{BoE, LoE};
88
use crate::common::{DockerUses, Env, If, Permissions, Uses, custom_error};
@@ -218,12 +218,12 @@ mod tests {
218218
#[test]
219219
fn test_secrets() {
220220
assert_eq!(
221-
serde_yaml::from_str::<Secrets>("inherit").unwrap(),
221+
yaml_serde::from_str::<Secrets>("inherit").unwrap(),
222222
Secrets::Inherit
223223
);
224224

225225
let secrets = "foo-secret: bar";
226-
let Secrets::Env(secrets) = serde_yaml::from_str::<Secrets>(secrets).unwrap() else {
226+
let Secrets::Env(secrets) = yaml_serde::from_str::<Secrets>(secrets).unwrap() else {
227227
panic!("unexpected secrets variant");
228228
};
229229
assert_eq!(secrets["foo-secret"], EnvValue::String("bar".into()));
@@ -235,7 +235,7 @@ mod tests {
235235
let Strategy {
236236
matrix: Some(LoE::Expr(expr)),
237237
..
238-
} = serde_yaml::from_str::<Strategy>(strategy).unwrap()
238+
} = yaml_serde::from_str::<Strategy>(strategy).unwrap()
239239
else {
240240
panic!("unexpected matrix variant");
241241
};
@@ -255,7 +255,7 @@ matrix:
255255
dimensions: LoE::Literal(dims),
256256
})),
257257
..
258-
} = serde_yaml::from_str::<Strategy>(strategy).unwrap()
258+
} = yaml_serde::from_str::<Strategy>(strategy).unwrap()
259259
else {
260260
panic!("unexpected matrix variant");
261261
};
@@ -268,7 +268,7 @@ matrix:
268268
let runson = "group: \nlabels: []";
269269

270270
assert_eq!(
271-
serde_yaml::from_str::<RunsOn>(runson)
271+
yaml_serde::from_str::<RunsOn>(runson)
272272
.unwrap_err()
273273
.to_string(),
274274
"runs-on must provide either `group` or one or more `labels`"

crates/github-actions-models/src/workflow/mod.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -122,11 +122,11 @@ mod tests {
122122
#[test]
123123
fn test_concurrency() {
124124
let bare = "foo";
125-
let concurrency: Concurrency = serde_yaml::from_str(bare).unwrap();
125+
let concurrency: Concurrency = yaml_serde::from_str(bare).unwrap();
126126
assert!(matches!(concurrency, Concurrency::Bare(_)));
127127

128128
let rich = "group: foo\ncancel-in-progress: true";
129-
let concurrency: Concurrency = serde_yaml::from_str(rich).unwrap();
129+
let concurrency: Concurrency = yaml_serde::from_str(rich).unwrap();
130130
assert!(matches!(
131131
concurrency,
132132
Concurrency::Rich {
@@ -151,7 +151,7 @@ mod tests {
151151
pull_request_target:
152152
";
153153

154-
let trigger: Trigger = serde_yaml::from_str(on).unwrap();
154+
let trigger: Trigger = yaml_serde::from_str(on).unwrap();
155155
let Trigger::Events(events) = trigger else {
156156
panic!("wrong trigger type");
157157
};

crates/github-actions-models/tests/test_action.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ fn load_action(name: &str) -> Action {
1010
.join("tests/sample-actions")
1111
.join(name);
1212
let action_contents = std::fs::read_to_string(action_path).unwrap();
13-
serde_yaml::from_str(&action_contents).unwrap()
13+
yaml_serde::from_str(&action_contents).unwrap()
1414
}
1515

1616
#[test]
@@ -20,7 +20,7 @@ fn test_load_all() {
2020
for sample_action in std::fs::read_dir(sample_actions).unwrap() {
2121
let sample_action = sample_action.unwrap().path();
2222
let action_contents = std::fs::read_to_string(sample_action).unwrap();
23-
serde_yaml::from_str::<Action>(&action_contents).unwrap();
23+
yaml_serde::from_str::<Action>(&action_contents).unwrap();
2424
}
2525
}
2626

0 commit comments

Comments
 (0)