@@ -33,9 +33,12 @@ struct Job {
33
33
/// Should the job be only executed on a specific channel?
34
34
#[ serde( default ) ]
35
35
only_on_channel : Option < String > ,
36
- /// Rest of attributes that will be passed through to GitHub actions
37
- #[ serde( flatten) ]
38
- extra_keys : BTreeMap < String , Value > ,
36
+ /// Do not cancel the whole workflow if this job fails.
37
+ #[ serde( default ) ]
38
+ continue_on_error : Option < bool > ,
39
+ /// Free additional disk space in the job, by removing unused packages.
40
+ #[ serde( default ) ]
41
+ free_disk : Option < bool > ,
39
42
}
40
43
41
44
impl Job {
@@ -105,8 +108,10 @@ struct GithubActionsJob {
105
108
full_name : String ,
106
109
os : String ,
107
110
env : BTreeMap < String , serde_json:: Value > ,
108
- #[ serde( flatten) ]
109
- extra_keys : BTreeMap < String , serde_json:: Value > ,
111
+ #[ serde( skip_serializing_if = "Option::is_none" ) ]
112
+ continue_on_error : Option < bool > ,
113
+ #[ serde( skip_serializing_if = "Option::is_none" ) ]
114
+ free_disk : Option < bool > ,
110
115
}
111
116
112
117
/// Type of workflow that is being executed on CI
@@ -240,7 +245,8 @@ fn calculate_jobs(
240
245
full_name,
241
246
os : job. os ,
242
247
env,
243
- extra_keys : yaml_map_to_json ( & job. extra_keys ) ,
248
+ free_disk : job. free_disk ,
249
+ continue_on_error : job. continue_on_error ,
244
250
}
245
251
} )
246
252
. collect ( ) ;
0 commit comments