@@ -33,9 +33,12 @@ struct Job {
3333 /// Should the job be only executed on a specific channel?
3434 #[ serde( default ) ]
3535 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 > ,
3942}
4043
4144impl Job {
@@ -105,8 +108,10 @@ struct GithubActionsJob {
105108 full_name : String ,
106109 os : String ,
107110 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 > ,
110115}
111116
112117/// Type of workflow that is being executed on CI
@@ -240,7 +245,8 @@ fn calculate_jobs(
240245 full_name,
241246 os : job. os ,
242247 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 ,
244250 }
245251 } )
246252 . collect ( ) ;
0 commit comments