1*6a0e7ea7SDaniel P. Berrangé 2*6a0e7ea7SDaniel P. Berrangé# The order of rules defined here is critically important. 3*6a0e7ea7SDaniel P. Berrangé# They are evaluated in order and first match wins. 4*6a0e7ea7SDaniel P. Berrangé# 5*6a0e7ea7SDaniel P. Berrangé# Thus we group them into a number of stages, ordered from 6*6a0e7ea7SDaniel P. Berrangé# most restrictive to least restrictive 7*6a0e7ea7SDaniel P. Berrangé# 8*6a0e7ea7SDaniel P. Berrangé.base_job_template: 9*6a0e7ea7SDaniel P. Berrangé rules: 10*6a0e7ea7SDaniel P. Berrangé ############################################################# 11*6a0e7ea7SDaniel P. Berrangé # Stage 1: exclude scenarios where we definitely don't 12*6a0e7ea7SDaniel P. Berrangé # want jobs to run 13*6a0e7ea7SDaniel P. Berrangé ############################################################# 14*6a0e7ea7SDaniel P. Berrangé 15*6a0e7ea7SDaniel P. Berrangé 16*6a0e7ea7SDaniel P. Berrangé ############################################################# 17*6a0e7ea7SDaniel P. Berrangé # Stage 2: fine tune execution of jobs in specific scenarios 18*6a0e7ea7SDaniel P. Berrangé # where the catch all logic is inapprorpaite 19*6a0e7ea7SDaniel P. Berrangé ############################################################# 20*6a0e7ea7SDaniel P. Berrangé 21*6a0e7ea7SDaniel P. Berrangé 22*6a0e7ea7SDaniel P. Berrangé ############################################################# 23*6a0e7ea7SDaniel P. Berrangé # Stage 3: catch all logic applying to any job not matching 24*6a0e7ea7SDaniel P. Berrangé # an earlier criteria 25*6a0e7ea7SDaniel P. Berrangé ############################################################# 26*6a0e7ea7SDaniel P. Berrangé 27*6a0e7ea7SDaniel P. Berrangé # Jobs can run if any jobs they depend on were successfull 28*6a0e7ea7SDaniel P. Berrangé - when: on_success 29