4e9e2a8d4a3f5d83357a9afc09660744239a68b8
[releng.git] / jjb / xci / bifrost-cleanup-job.yml
1 - project:
2     name: 'openstack-bifrost-cleanup'
3 #--------------------------------
4 # branches
5 #--------------------------------
6     stream:
7         - master:
8             branch: '{stream}'
9
10 #--------------------------------
11 # projects
12 #--------------------------------
13     project:
14         - 'openstack':
15             project-repo: 'https://git.openstack.org/openstack/bifrost'
16             clone-location: '/opt/bifrost'
17         - 'opnfv':
18             project-repo: 'https://gerrit.opnfv.org/gerrit/releng'
19             clone-location: '/opt/releng'
20
21 #--------------------------------
22 # jobs
23 #--------------------------------
24     jobs:
25         - '{project}-bifrost-cleanup-{stream}'
26
27 - job-template:
28     name: '{project}-bifrost-cleanup-{stream}'
29
30     concurrent: false
31
32     node: bifrost-verify-virtual
33
34     # Make sure no verify job is running on any of the slaves since that would
35     # produce build logs after we wipe the destination directory.
36     properties:
37         - build-blocker:
38             blocking-jobs:
39                 - '{project}-bifrost-verify-*'
40
41     parameters:
42         - string:
43             name: PROJECT
44             default: '{project}'
45
46     builders:
47         - shell: |
48             #!/bin/bash
49
50             set -eu
51
52             # DO NOT change this unless you know what you are doing.
53             BIFROST_GS_URL="gs://artifacts.opnfv.org/cross-community-ci/openstack/bifrost/$GERRIT_NAME/$GERRIT_CHANGE_NUMBER/"
54
55             # This should never happen... even 'recheck' uses the last jobs'
56             # gerrit information. Better exit with error so we can investigate
57             [[ ! -n $GERRIT_NAME ]] || [[ ! -n $GERRIT_CHANGE_NUMBER ]] && exit 1
58
59             echo "Removing build artifacts for $GERRIT_NAME/$GERRIT_CHANGE_NUMBER"
60
61             if ! [[ "$BIFROST_GS_URL" =~ "/cross-community-ci/openstack/bifrost/" ]]; then
62                 echo "Oops! BIFROST_GS_URL=$BIFROST_GS_URL does not seem like a valid"
63                 echo "bifrost location on the Google storage server. Please double-check"
64                 echo "that it's set properly or fix this line if necessary."
65                 echo "gsutil will not be executed until this is fixed!"
66                 exit 1
67             fi
68             # No force (-f). We always verify upstream jobs so if there are no logs
69             # something else went wrong and we need to break immediately and investigate
70             gsutil -m rm -r $BIFROST_GS_URL
71
72     triggers:
73         - '{project}-gerrit-trigger-cleanup':
74             branch: '{branch}'
75
76     publishers:
77         - email:
78             recipients: fatih.degirmenci@ericsson.com yroblamo@redhat.com mchandras@suse.de jack.morgan@intel.com zhang.jun3g@zte.com.cn
79 #--------------------------------
80 # trigger macros
81 #--------------------------------
82 - trigger:
83     name: 'openstack-gerrit-trigger-cleanup'
84     triggers:
85         - gerrit:
86             server-name: 'review.openstack.org'
87             escape-quotes: true
88             trigger-on:
89                 # We only run this when the change is merged or
90                 # abandoned since we don't need the logs anymore
91                 - change-merged-event
92                 - change-abandoned-event
93             # This is an OPNFV maintenance job. We don't want to provide
94             # feedback on Gerrit
95             silent: true
96             silent-start: true
97             projects:
98               - project-compare-type: 'PLAIN'
99                 project-pattern: 'openstack/bifrost'
100                 branches:
101                   - branch-compare-type: 'ANT'
102                     branch-pattern: '**/{branch}'
103                 disable-strict-forbidden-file-verification: 'true'
104                 forbidden-file-paths:
105                   - compare-type: ANT
106                     pattern: 'doc/**'
107                   - compare-type: ANT
108                     pattern: 'releasenotes/**'
109                 disable-strict-forbidden-file-verification: 'true'
110             readable-message: true
111 - trigger:
112     name: 'opnfv-gerrit-trigger-cleanup'
113     triggers:
114         - gerrit:
115             server-name: 'gerrit.opnfv.org'
116             trigger-on:
117                 # We only run this when the change is merged or
118                 # abandoned since we don't need the logs anymore
119                 - change-merged-event
120                 - change-abandoned-event
121             # This is an OPNFV maintenance job. We don't want to provide
122             # feedback on Gerrit
123             silent: true
124             silent-start: true
125             projects:
126               - project-compare-type: 'ANT'
127                 project-pattern: 'releng'
128                 branches:
129                   - branch-compare-type: 'ANT'
130                     branch-pattern: '**/{branch}'
131                 file-paths:
132                   - compare-type: ANT
133                     pattern: 'prototypes/bifrost/**'
134             readable-message: true