From 16ccc35c14f89dcd2c4f018adbe36a60e59e35b0 Mon Sep 17 00:00:00 2001 From: Fatih Degirmenci Date: Thu, 14 Mar 2019 19:18:03 -0700 Subject: [PATCH] Add Acumos push-upstream jobs Similar to change 620, this is a quick fix to get Acumos working. Change-Id: I98fcc4dc21aca206327fd315b1c1e5c07f342e3c --- ...global-templates-acumos-push-upstream.yaml | 41 ++++++++++ .../portal-marketplace-push-upstream-jobs.yml | 30 ++++++++ jjb/acumos/push-upstream-jobs.sh | 76 +++++++++++++++++++ ...urity-verification-push-upstream-jobs.yaml | 30 ++++++++ .../system-integration-push-upstream-jobs.yml | 30 ++++++++ 5 files changed, 207 insertions(+) create mode 100644 jjb/acumos/global-templates-acumos-push-upstream.yaml create mode 100644 jjb/acumos/portal-marketplace/portal-marketplace-push-upstream-jobs.yml create mode 100755 jjb/acumos/push-upstream-jobs.sh create mode 100644 jjb/acumos/security-verification/security-verification-push-upstream-jobs.yaml create mode 100644 jjb/acumos/system-integration/system-integration-push-upstream-jobs.yml diff --git a/jjb/acumos/global-templates-acumos-push-upstream.yaml b/jjb/acumos/global-templates-acumos-push-upstream.yaml new file mode 100644 index 000000000..a4e1f6e9b --- /dev/null +++ b/jjb/acumos/global-templates-acumos-push-upstream.yaml @@ -0,0 +1,41 @@ +- job-template: + name: 'acumos-{project-name}-{stream}-push-upstream' + + node: onap-ubuntu1604 + + disabled: false + + concurrent: true + + properties: + - logrotate + + parameters: + - project-parameters: + project: '{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: '{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/acumos/portal-marketplace/portal-marketplace-push-upstream-jobs.yml b/jjb/acumos/portal-marketplace/portal-marketplace-push-upstream-jobs.yml new file mode 100644 index 000000000..85b125719 --- /dev/null +++ b/jjb/acumos/portal-marketplace/portal-marketplace-push-upstream-jobs.yml @@ -0,0 +1,30 @@ +--- +# ============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========================================================= + +- project: + name: portal-marketplace-push-upstream + project: portal-marketplace + project-name: portal-marketplace + + stream: + - master: + branch: '{stream}' + + jobs: + - 'acumos-{project-name}-{stream}-push-upstream' diff --git a/jjb/acumos/push-upstream-jobs.sh b/jjb/acumos/push-upstream-jobs.sh new file mode 100755 index 000000000..1eded15b5 --- /dev/null +++ b/jjb/acumos/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 Acumos" +project=$(git config --local remote.origin.url | awk -F "29418/acumos/" '{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.acumos.org:29418/$project.git" +else + git remote add upstream "ssh://$username@gerrit.acumos.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 Acumos succeeded" +else + echo "Push upstream to Acumos failed" + exit 2 +fi + +git checkout $BRANCH +git branch -D delivery_branch diff --git a/jjb/acumos/security-verification/security-verification-push-upstream-jobs.yaml b/jjb/acumos/security-verification/security-verification-push-upstream-jobs.yaml new file mode 100644 index 000000000..4a0193dd0 --- /dev/null +++ b/jjb/acumos/security-verification/security-verification-push-upstream-jobs.yaml @@ -0,0 +1,30 @@ +--- +# ============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========================================================= + +- project: + name: security-verification-push-upstream + project: security-verification + project-name: security-verification + + stream: + - master: + branch: '{stream}' + + jobs: + - 'acumos-{project-name}-{stream}-push-upstream' diff --git a/jjb/acumos/system-integration/system-integration-push-upstream-jobs.yml b/jjb/acumos/system-integration/system-integration-push-upstream-jobs.yml new file mode 100644 index 000000000..7b45b447c --- /dev/null +++ b/jjb/acumos/system-integration/system-integration-push-upstream-jobs.yml @@ -0,0 +1,30 @@ +--- +# ============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========================================================= + +- project: + name: system-integration-push-upstream + project: system-integration + project-name: system-integration + + stream: + - master: + branch: '{stream}' + + jobs: + - 'acumos-{project-name}-{stream}-push-upstream' -- 2.25.1