From a2beeb2cade734853d6636143686e34ee5c2e8c8 Mon Sep 17 00:00:00 2001 From: Fatih Degirmenci Date: Mon, 10 Dec 2018 10:57:50 -0800 Subject: [PATCH] Create jjb for datafile rebase jobs This change converts existing datafile-rebase job [1] to jjb. The actual rebase job is put in global templates which can be used by any other ONAP project we have in same way as datafile uses it. [1] https://jenkins.nordix.org/view/ONAP/job/dcaegen2-collectors-datafile-rebase-master/ Change-Id: I9784500b9ff22d2ef8d8d63bcc7b90a900401fcf Signed-off-by: Fatih Degirmenci --- ...egen2-collectors-datafile-rebase-jobs.yaml | 21 ++++++++++ jjb/global/global-templates-rebase.yaml | 38 +++++++++++++++++++ jjb/global/jjb-macros.yaml | 22 ++++++++++- jjb/global/rebase-jobs.sh | 19 ++++++++++ 4 files changed, 99 insertions(+), 1 deletion(-) create mode 100644 jjb/dcaegen2/dcaegen2-collectors-datafile-rebase-jobs.yaml create mode 100644 jjb/global/global-templates-rebase.yaml create mode 100755 jjb/global/rebase-jobs.sh diff --git a/jjb/dcaegen2/dcaegen2-collectors-datafile-rebase-jobs.yaml b/jjb/dcaegen2/dcaegen2-collectors-datafile-rebase-jobs.yaml new file mode 100644 index 00000000..4e17f38b --- /dev/null +++ b/jjb/dcaegen2/dcaegen2-collectors-datafile-rebase-jobs.yaml @@ -0,0 +1,21 @@ +--- +# this job gets triggered when a change is merged to +# dcaegen2/collectors/datafile project on ONAP Gerrit. +- project: + + name: datafile-rebase + + project: dcaegen2/collectors/datafile + + project-name: dcaegen2-collectors-datafile + + stream: + - nordix-dev: + branch: '{stream}' + upstream-branch: 'master' + - nordix-casablanca: + branch: '{stream}' + upstream-branch: 'casablanca' + + jobs: + - '{project-name}-{stream}-rebase' diff --git a/jjb/global/global-templates-rebase.yaml b/jjb/global/global-templates-rebase.yaml new file mode 100644 index 00000000..19c3af71 --- /dev/null +++ b/jjb/global/global-templates-rebase.yaml @@ -0,0 +1,38 @@ +- job-template: + name: '{project-name}-{stream}-rebase' + + node: ubuntu1804 + + disabled: false + + concurrent: false + + parameters: + - project-parameters: + project: '{project}' + branch: '{branch}' + - onap-gerrit-parameters + - string: + name: NORDIX_REMOTE + default: 'ssh://infra@gerrit.nordix.org:29418/{project}.git' + description: The remote to add for Nordix. + - string: + name: UPSTREAM_BRANCH + default: '{upstream-branch}' + description: The upstream branch to rebase against. + + scm: + - git-scm: + ssh-credentials-id: nordixinfra-lfn-gerrit-ssh + branch: "$UPSTREAM_BRANCH" + refspec: '' + + triggers: + - onap-gerrit-trigger-change-merged: + project: '{project}' + branch: "$UPSTREAM_BRANCH" + files: '**' + + builders: + - shell: + !include-raw-escape: ./rebase-jobs.sh diff --git a/jjb/global/jjb-macros.yaml b/jjb/global/jjb-macros.yaml index c8b0b197..9a016366 100644 --- a/jjb/global/jjb-macros.yaml +++ b/jjb/global/jjb-macros.yaml @@ -107,7 +107,7 @@ prune: false choosing-strategy: 'gerrit' -# triggers for Nordix and upstream Gerrits +# triggers for Nordix Gerrit - trigger: name: nordix-gerrit-trigger-patchset-created triggers: @@ -157,6 +157,26 @@ - compare-type: 'ANT' pattern: '{files}' +# triggers for ONAP Gerrit +- trigger: + name: onap-gerrit-trigger-change-merged + triggers: + - gerrit: + server-name: 'ONAP Gerrit' + trigger-on: + - change-merged-event + - comment-added-contains-event: + comment-contains-value: 'remerge' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + file-paths: + - compare-type: 'ANT' + pattern: '{files}' + # wrappers to use for jobs - wrapper: name: nordixinfra-jjb-creds-wrapper diff --git a/jjb/global/rebase-jobs.sh b/jjb/global/rebase-jobs.sh new file mode 100755 index 00000000..b451f5fc --- /dev/null +++ b/jjb/global/rebase-jobs.sh @@ -0,0 +1,19 @@ +#!/bin/bash +set -o errexit +set -o nounset +set -o pipefail + +cd $WORKSPACE +git checkout $UPSTREAM_BRANCH -q +git pull -q +echo "Commit is" +echo "-------------------------------------------" +git show -s +echo "-------------------------------------------" +echo "Adding new remote for sync" +git remote add nordix $NORDIX_REMOTE +echo "-------------------------------------------" +git remote -v +echo "-------------------------------------------" +echo "Pushing changes to Nordix BRANCH" +git push nordix $BRANCH -- 2.25.1