diff options
Diffstat (limited to 'jjb/xci/bifrost-cleanup-job.yaml')
-rw-r--r-- | jjb/xci/bifrost-cleanup-job.yaml | 146 |
1 files changed, 146 insertions, 0 deletions
diff --git a/jjb/xci/bifrost-cleanup-job.yaml b/jjb/xci/bifrost-cleanup-job.yaml new file mode 100644 index 000000000..d51776173 --- /dev/null +++ b/jjb/xci/bifrost-cleanup-job.yaml @@ -0,0 +1,146 @@ +--- +- project: + name: 'openstack-bifrost-cleanup' + # ------------------------------- + # branches + # ------------------------------- + stream: + - master: + branch: '{stream}' + + # ------------------------------- + # projects + # ------------------------------- + project: + - 'openstack': + project-repo: 'https://git.openstack.org/openstack/bifrost' + clone-location: '/opt/bifrost' + - 'opnfv': + project-repo: 'https://gerrit.opnfv.org/gerrit/releng-xci' + clone-location: '/opt/releng-xci' + + # ------------------------------- + # jobs + # ------------------------------- + jobs: + - '{project}-bifrost-cleanup-{stream}' + +- job-template: + name: '{project}-bifrost-cleanup-{stream}' + + disabled: true + concurrent: false + + node: bifrost-verify-virtual + + # Make sure no verify job is running on any of the slaves since that would + # produce build logs after we wipe the destination directory. + properties: + - build-blocker: + blocking-jobs: + - '{project}-bifrost-verify-*' + + parameters: + - string: + name: PROJECT + default: '{project}' + + builders: + - shell: | + #!/bin/bash + + set -eu + + # DO NOT change this unless you know what you are doing. + BIFROST_GS_URL="gs://artifacts.opnfv.org/cross-community-ci/openstack/bifrost/$GERRIT_NAME/$GERRIT_CHANGE_NUMBER/" + + # This should never happen... even 'recheck' uses the last jobs' + # gerrit information. Better exit with error so we can investigate + [[ ! -n $GERRIT_NAME ]] || [[ ! -n $GERRIT_CHANGE_NUMBER ]] && exit 1 + + echo "Removing build artifacts for $GERRIT_NAME/$GERRIT_CHANGE_NUMBER" + + if ! [[ "$BIFROST_GS_URL" =~ "/cross-community-ci/openstack/bifrost/" ]]; then + echo "Oops! BIFROST_GS_URL=$BIFROST_GS_URL does not seem like a valid" + echo "bifrost location on the Google storage server. Please double-check" + echo "that it's set properly or fix this line if necessary." + echo "gsutil will not be executed until this is fixed!" + exit 1 + fi + try_to_rm=1 + while [[ $try_to_rm -lt 6 ]]; do + gsutil -m rm -r $BIFROST_GS_URL && _exitcode=$? && break + _exitcode=$? + echo "gsutil rm failed! Trying again... (attempt #$try_to_rm)" + let try_to_rm += 1 + # Give it some time... + sleep 10 + done + exit $_exitcode + + triggers: + - '{project}-gerrit-trigger-cleanup': + branch: '{branch}' + + publishers: + # yamllint disable rule:line-length + - email: + recipients: fatih.degirmenci@ericsson.com yroblamo@redhat.com mchandras@suse.de jack.morgan@intel.com zhang.jun3g@zte.com.cn + # yamllint enable rule:line-length + - email-jenkins-admins-on-failure +# ------------------------------- +# trigger macros +# ------------------------------- +- trigger: + name: 'openstack-gerrit-trigger-cleanup' + triggers: + - gerrit: + server-name: 'review.openstack.org' + escape-quotes: true + trigger-on: + # We only run this when the change is merged or + # abandoned since we don't need the logs anymore + - change-merged-event + - change-abandoned-event + # This is an OPNFV maintenance job. We don't want to provide + # feedback on Gerrit + silent: true + silent-start: true + projects: + - project-compare-type: 'PLAIN' + project-pattern: 'openstack/bifrost' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + disable-strict-forbidden-file-verification: 'true' + forbidden-file-paths: + - compare-type: ANT + pattern: 'doc/**' + - compare-type: ANT + pattern: 'releasenotes/**' + readable-message: true + +- trigger: + name: 'opnfv-gerrit-trigger-cleanup' + triggers: + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + # We only run this when the change is merged or + # abandoned since we don't need the logs anymore + - change-merged-event + - change-abandoned-event + # This is an OPNFV maintenance job. We don't want to provide + # feedback on Gerrit + silent: true + silent-start: true + projects: + - project-compare-type: 'ANT' + project-pattern: 'releng-xci' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + file-paths: + - compare-type: ANT + pattern: 'bifrost/**' + readable-message: true |