@@ -25,9 +25,12 @@ struct Job {
25
25
/// Should the job be only executed on a specific channel?
26
26
#[ serde( default ) ]
27
27
only_on_channel : Option < String > ,
28
- /// Rest of attributes that will be passed through to GitHub actions
29
- #[ serde( flatten) ]
30
- extra_keys : BTreeMap < String , Value > ,
28
+ /// Do not cancel the whole workflow if this job fails.
29
+ #[ serde( default ) ]
30
+ continue_on_error : Option < bool > ,
31
+ /// Free additional disk space in the job, by removing unused packages.
32
+ #[ serde( default ) ]
33
+ free_disk : Option < bool > ,
31
34
}
32
35
33
36
impl Job {
@@ -97,8 +100,10 @@ struct GithubActionsJob {
97
100
full_name : String ,
98
101
os : String ,
99
102
env : BTreeMap < String , serde_json:: Value > ,
100
- #[ serde( flatten) ]
101
- extra_keys : BTreeMap < String , serde_json:: Value > ,
103
+ #[ serde( skip_serializing_if = "Option::is_none" ) ]
104
+ continue_on_error : Option < bool > ,
105
+ #[ serde( skip_serializing_if = "Option::is_none" ) ]
106
+ free_disk : Option < bool > ,
102
107
}
103
108
104
109
/// Type of workflow that is being executed on CI
@@ -232,7 +237,8 @@ fn calculate_jobs(
232
237
full_name,
233
238
os : job. os ,
234
239
env,
235
- extra_keys : yaml_map_to_json ( & job. extra_keys ) ,
240
+ free_disk : job. free_disk ,
241
+ continue_on_error : job. continue_on_error ,
236
242
}
237
243
} )
238
244
. collect ( ) ;
0 commit comments