diff options
author | Markos Chandras <mchandras@suse.de> | 2017-01-23 22:53:55 +0000 |
---|---|---|
committer | Markos Chandras <mchandras@suse.de> | 2017-02-13 11:41:46 +0000 |
commit | 4704737d7cc2d4444c6864c9f663cd82a03e40e7 (patch) | |
tree | 3836914675b957c9f59afbd0000b73e7f83eed38 /jjb | |
parent | 387c212e28b6050a74affbb787c9525e6337ce08 (diff) |
jjb: infra: bifrost-cleanup-job.yml: Add new bifrost cleanup job
Add new job which will wipe the build logs from artifacts.opnfv.org
once the proposed gerrit patchset is merged. This job is only
triggered when a patchset is accepted and it can be executed on any
of the bifrost slaves provided none of the bifrost-verify-* jobs is
running.
Change-Id: Ice708b978fbf283d5134f5cf7f7e1e541ec61003
Signed-off-by: Markos Chandras <mchandras@suse.de>
Diffstat (limited to 'jjb')
-rw-r--r-- | jjb/infra/bifrost-cleanup-job.yml | 156 |
1 files changed, 156 insertions, 0 deletions
diff --git a/jjb/infra/bifrost-cleanup-job.yml b/jjb/infra/bifrost-cleanup-job.yml new file mode 100644 index 000000000..2f7d9737b --- /dev/null +++ b/jjb/infra/bifrost-cleanup-job.yml @@ -0,0 +1,156 @@ +- 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' + clone-location: '/opt/releng' + +#-------------------------------- +# jobs +#-------------------------------- + jobs: + - '{project}-bifrost-cleanup-{stream}' + +- job-template: + name: '{project}-bifrost-cleanup-{stream}' + + 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 + # No force (-f). We always verify upstream jobs so if there are no logs + # something else went wrong and we need to break immediately and investigate + gsutil rm -r $BIFROST_GS_URL + + triggers: + - '{project}-gerrit-trigger-cleanup': + branch: '{branch}' + + publishers: + - email: + recipients: fatih.degirmenci@ericsson.com yroblamo@redhat.com mchandras@suse.de jack.morgan@intel.com zhang.jun3g@zte.com.cn +#-------------------------------- +# trigger macros +#-------------------------------- +- trigger: + name: 'openstack-gerrit-trigger-cleanup' + triggers: + - gerrit: + server-name: 'review.openstack.org' + escape-quotes: true + trigger-on: + - patchset-created-event: + exclude-drafts: 'false' + exclude-trivial-rebase: 'false' + exclude-no-code-change: 'false' + - patchset-uploaded-event: 'false' + # We only run this when the change is merged since + # we don't need the logs anymore + - change-merged-event: 'true' + - change-restored-event: 'false' + - draft-published-event: 'false' + # We need this in order to be able to trigger a cleanup + # from Gerrit should it be necessary + - comment-added-contains-event: + comment-contains-value: 'recheck' + # 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}' + 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: + - patchset-created-event: + exclude-drafts: 'false' + exclude-trivial-rebase: 'false' + exclude-no-code-change: 'false' + - patchset-uploaded-event: 'false' + # We only run this when the change is merged since + # we don't need the logs anymore + - change-merged-event: 'true' + - change-restored-event: 'false' + - draft-published-event: 'false' + # We need this in order to be able to trigger a cleanup + # from Gerrit should it be necessary + - comment-added-contains-event: + comment-contains-value: 'recheck' + - comment-added-contains-event: + comment-contains-value: 'reverify' + # 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' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + file-paths: + - compare-type: ANT + pattern: 'prototypes/bifrost/**' + - compare-type: ANT + pattern: 'jjb/infra/**' + readable-message: true |