File tree 1 file changed +10
-4
lines changed 1 file changed +10
-4
lines changed Original file line number Diff line number Diff line change @@ -85,14 +85,20 @@ impl JobDatabase {
85
85
}
86
86
87
87
pub fn load_job_db ( db : & str ) -> anyhow:: Result < JobDatabase > {
88
- let mut db: Value = serde_yaml:: from_str ( db) ?;
88
+ let mut db: Value = serde_yaml:: from_str ( db) . context ( "failed to parse YAML content" ) ?;
89
89
90
90
// We need to expand merge keys (<<), because serde_yaml can't deal with them
91
91
// `apply_merge` only applies the merge once, so do it a few times to unwrap nested merges.
92
- db. apply_merge ( ) ?;
93
- db. apply_merge ( ) ?;
94
92
95
- let db: JobDatabase = serde_yaml:: from_value ( db) ?;
93
+ let apply_merge = |db : & mut Value | -> anyhow:: Result < ( ) > {
94
+ db. apply_merge ( ) . context ( "failed to apply merge keys" )
95
+ } ;
96
+
97
+ // Apply merge twice to handle nested merges
98
+ apply_merge ( & mut db) ?;
99
+ apply_merge ( & mut db) ?;
100
+
101
+ let db: JobDatabase = serde_yaml:: from_value ( db) . context ( "failed to parse job database" ) ?;
96
102
Ok ( db)
97
103
}
98
104
You can’t perform that action at this time.
0 commit comments