From: robert.tomczyk Date: Wed, 5 Jun 2019 11:03:09 +0000 (+0100) Subject: ONAP: Add rebase, push-upstrea jobs for doc project under new onap namespace. X-Git-Url: https://gerrit.nordix.org/gitweb?a=commitdiff_plain;ds=sidebyside;h=e53f009e429bb4c792a1920f2c5ff71742f52250;p=infra%2Fcicd.git ONAP: Add rebase, push-upstrea jobs for doc project under new onap namespace. Change-Id: I2e0b352931dccf580171e011111b25cdcca98ae7 --- diff --git a/jjb/onap/doc/doc-push-upstream.yaml b/jjb/onap/doc/doc-push-upstream.yaml new file mode 100644 index 000000000..e0f55e875 --- /dev/null +++ b/jjb/onap/doc/doc-push-upstream.yaml @@ -0,0 +1,31 @@ +--- +# ============LICENSE_START======================================================= +# Copyright (C) 2019 Nordix Foundation. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# ============LICENSE_END========================================================= +# + +# this job gets triggered when push-upstream is commented on a change on Nordix Gerrit. +- project: + name: doc-push-upstream + project: doc + project-name: doc + stream: + - master: + branch: '{stream}' + + jobs: + - 'onap-{project-name}-{stream}-push-upstream' diff --git a/jjb/onap/doc/doc-rebase.yaml b/jjb/onap/doc/doc-rebase.yaml new file mode 100644 index 000000000..d925a7e74 --- /dev/null +++ b/jjb/onap/doc/doc-rebase.yaml @@ -0,0 +1,32 @@ +--- +# ============LICENSE_START======================================================= +# Copyright (C) 2019 Nordix Foundation. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# ============LICENSE_END========================================================= +# + +# this job gets triggered when a change is merged to +# doc project on ONAP Gerrit. +- project: + name: doc-rebase + project: doc + project-name: doc + stream: + - master: + branch: '{stream}' + + jobs: + - 'onap-{project-name}-{stream}-rebase' diff --git a/jjb/onap/global-templates-onap-java.yaml b/jjb/onap/global-templates-onap-java.yaml new file mode 100644 index 000000000..5f79175d3 --- /dev/null +++ b/jjb/onap/global-templates-onap-java.yaml @@ -0,0 +1,53 @@ +- job-template: + name: 'onap-{project-name}-{stream}-verify-java' + + node: onap-ubuntu1604 + + disabled: false + + concurrent: true + + properties: + - logrotate + + parameters: + - project-parameters: + project: 'onap/{project}' + branch: '{branch}' + - nordix-gerrit-parameters + - string: + name: JAVA_HOME + default: /usr/lib/jvm/java-1.8.0-openjdk-amd64 + description: Java home + - string: + name: MVN_VERSION + default: 3.3.9 + description: Maven version + - string: + name: MVN_URL + default: https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/$MVN_VERSION/apache-maven-${{MVN_VERSION}}-bin.zip + description: URL to download Maven + - string: + name: MVN + default: $WORKSPACE/apache-maven-${{MVN_VERSION}}/bin/mvn + description: Path to mvn executable + + scm: + - git-scm-gerrit: + ssh-credentials-id: nordixinfra-nordix-gerrit-ssh + branch: '{branch}' + refspec: $GERRIT_REFSPEC + + triggers: + - nordix-gerrit-trigger-patchset-created: + project: 'onap/{project}' + branch: '{branch}' + files: '**' + + wrappers: + - build-timeout: + timeout: 45 + + builders: + - shell: + !include-raw-escape: ../global/verify-jobs.sh diff --git a/jjb/onap/global-templates-onap-push-upstream.yaml b/jjb/onap/global-templates-onap-push-upstream.yaml new file mode 100644 index 000000000..5e44ed858 --- /dev/null +++ b/jjb/onap/global-templates-onap-push-upstream.yaml @@ -0,0 +1,41 @@ +- job-template: + name: 'onap-{project-name}-{stream}-push-upstream' + + node: onap-ubuntu1604 + + disabled: false + + concurrent: true + + properties: + - logrotate + + parameters: + - project-parameters: + project: 'onap/{project}' + branch: '{branch}' + - nordix-gerrit-parameters + + scm: + - git-scm-gerrit: + ssh-credentials-id: nordixinfra-nordix-gerrit-ssh + branch: '{branch}' + refspec: $GERRIT_REFSPEC + + triggers: + - nordix-gerrit-push-upstream: + project: 'onap/{project}' + branch: '{branch}' + files: '**' + + wrappers: + - build-timeout: + timeout: 10 + + builders: + - shell: + !include-raw-escape: ./push-upstream-jobs.sh + + publishers: + - notify-slack: + slack-channel: '#infra' diff --git a/jjb/onap/global-templates-onap-rebase.yaml b/jjb/onap/global-templates-onap-rebase.yaml new file mode 100644 index 000000000..74da77b7a --- /dev/null +++ b/jjb/onap/global-templates-onap-rebase.yaml @@ -0,0 +1,46 @@ +- job-template: + name: 'onap-{project-name}-{stream}-rebase' + + node: infra-build01-ubuntu1804 + + disabled: false + + concurrent: false + + properties: + - logrotate + + parameters: + - project-parameters: + project: '{project}' + branch: '{branch}' + - onap-gerrit-parameters + - string: + name: NORDIX_REMOTE + default: 'ssh://infra@gerrit.nordix.org:29418/onap/{project}.git' + description: The remote to add for Nordix. + + scm: + - git-scm: + ssh-credentials-id: nordixinfra-lfn-gerrit-ssh + branch: '{branch}' + refspec: '' + + triggers: + - onap-gerrit-trigger-change-merged: + project: '{project}' + branch: '{branch}' + files: '**' + - timed: "@midnight" + + wrappers: + - build-timeout: + timeout: 10 + + builders: + - shell: + !include-raw-escape: ../global/rebase-jobs.sh + + publishers: + - notify-slack: + slack-channel: '#infra' diff --git a/jjb/onap/push-upstream-jobs.sh b/jjb/onap/push-upstream-jobs.sh new file mode 100755 index 000000000..7f00fa310 --- /dev/null +++ b/jjb/onap/push-upstream-jobs.sh @@ -0,0 +1,76 @@ +#!/bin/bash + +# ============LICENSE_START======================================================= +# Copyright (C) 2019 The Nordix Foundation. All rights reserved. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# ============LICENSE_END========================================================= + +# +# This script will take the changes that are pushed to Nordix Gerrit and push upstream to ONAP +# Pre-requisites for script to run successfully: +# - Author name in Nordix Gerrit equals LFID i.e. need to run "git config --global user.name " +# - infra public key on build server needs to be added to your users SSH Public Keys in ONAP Gerrit +# +set -o nounset +set -o pipefail + +cd $WORKSPACE +echo "Retrieving information from commit to push towards ONAP" +project=$(git config --local remote.origin.url | awk -F "29418/onap/" '{print $2}') +message=$(git show -s --pretty=%B | grep -vi 'Signed-off-by') +username=$(git show -s --pretty=%an) + +pattern=" " +if [[ "$username" =~ $pattern ]] +then + echo "Incorrect username, use Linux Foundation ID as git user.name when pushing to Nordix" + exit 1 +fi + +echo "Setting user name and email" +git config user.email $(git show -s --pretty=%ae) +git config user.name $username + +echo "Checking out branch on master with new changes" +git reset HEAD~1 --soft +git checkout -b delivery_branch origin/$BRANCH + +git config --get remote.upstream.url +retVal=$? + +if [[ $retVal -eq 0 ]] +then + git remote rm upstream + git remote add upstream "ssh://$username@gerrit.onap.org:29418/$project.git" +else + git remote add upstream "ssh://$username@gerrit.onap.org:29418/$project.git" +fi + +echo "Committing changes and pushing upstream" +git commit -as -m "$message" +git push upstream HEAD:refs/for/$BRANCH + +retVal1=$? +if [[ $retVal1 -eq 0 ]] +then + echo "Push upstream to ONAP succeeded" +else + echo "Push upstream to ONAP failed" + exit 2 +fi + +git checkout $BRANCH +git branch -D delivery_branch