3 # ============LICENSE_START=======================================================
4 # Copyright (C) 2019 The Nordix Foundation. All rights reserved.
5 # ================================================================================
6 # Licensed under the Apache License, Version 2.0 (the "License");
7 # you may not use this file except in compliance with the License.
8 # You may obtain a copy of the License at
10 # http://www.apache.org/licenses/LICENSE-2.0
12 # Unless required by applicable law or agreed to in writing, software
13 # distributed under the License is distributed on an "AS IS" BASIS,
14 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 # See the License for the specific language governing permissions and
16 # limitations under the License.
18 # SPDX-License-Identifier: Apache-2.0
19 # ============LICENSE_END=========================================================
22 # This script will take the changes that are pushed to Nordix Gerrit and push upstream to Opendaylight
23 # Pre-requisites for script to run successfully:
24 # - Author name in Nordix Gerrit equals LFID i.e. need to run "git config --global user.name <LFID>"
25 # - infra public key on build server needs to be added to your users SSH Public Keys in Opendaylight Gerrit
31 echo "Retrieving information from commit to push towards Opendaylight"
32 project=$(git config --local remote.origin.url | awk -F "29418/opendaylight/" '{print $2}')
33 message=$(git show -s --pretty=%B | grep -vi 'Signed-off-by')
34 username=$(git show -s --pretty=%an)
37 if [[ "$username" =~ $pattern ]]
39 echo "Incorrect username, use Linux Foundation ID as git user.name when pushing to Nordix"
43 echo "Setting user name and email"
44 git config user.email $(git show -s --pretty=%ae)
45 git config user.name $username
47 echo "Checking out branch on master with new changes"
48 git reset HEAD~1 --soft
49 git checkout -b delivery_branch origin/$BRANCH
51 git config --get remote.upstream.url
54 if [[ $retVal -eq 0 ]]
56 git remote rm upstream
57 git remote add upstream "ssh://$username@git.opendaylight.org:29418/$project.git"
59 git remote add upstream "ssh://$username@git.opendaylight.org:29418/$project.git"
62 echo "Committing changes and pushing upstream"
63 git commit -as -m "$message"
64 git push upstream HEAD:refs/for/$BRANCH
67 if [[ $retVal1 -eq 0 ]]
69 echo "Push upstream to Opendaylight succeeded"
71 echo "Push upstream to Opendaylight failed"
76 git branch -D delivery_branch