- compare-type: 'ANT'
pattern: '{files}'
+- trigger:
+ name: nordix-gerrit-push-upstream
+ triggers:
+ - gerrit:
+ server-name: 'Nordix Gerrit'
+ trigger-on:
+ - comment-added-contains-event:
+ comment-contains-value: 'push-upstream'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ file-paths:
+ - compare-type: 'ANT'
+ pattern: '{files}'
+
# triggers for ONAP Gerrit
- trigger:
name: onap-gerrit-trigger-change-merged
--- /dev/null
+#! /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 <LFID>"
+# - infra public key on build server needs to be added to your users SSH Public Keys in ONAP Gerrit
+#
+
+cd $WORKSPACE
+
+project=$(git config --local remote.origin.url | awk -F "29418/" '{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
+
+git config user.email $(git show -s --pretty=%ae)
+git config user.name $username
+
+git reset HEAD~1
+git checkout -b delivery_branch origin/master
+
+echo '[remote "upstream"]' >> .git/config
+echo " url = ssh://$username@gerrit.onap.org:29418/$project.git" >> .git/config
+echo " fetch = +refs/heads/*:refs/remotes/upstream/*" >> .git/config
+
+git commit -as -m "$message"
+
+git push upstream HEAD:refs/for/master
+retVal=$?
+if [[ $retVal -eq 0 ]]
+then
+ echo "Push upstream to ONAP succeeded"
+else
+ echo "Push upstream to ONAP failed"
+ exit 2
+fi