aboutsummaryrefslogtreecommitdiff
path: root/jenkins/bisect.jpl
diff options
context:
space:
mode:
authorGuillaume Tucker <guillaume.tucker@collabora.com>2018-11-28 11:01:21 +0000
committerGuillaume Tucker <guillaume.tucker@collabora.com>2018-12-07 13:23:52 +0000
commit46aceb3ddbbb57ebf0a22d9c8195587361b4b16e (patch)
tree32d966542d046533e0a591c9bf12dfd488e63508 /jenkins/bisect.jpl
parentce3d1b0d416be22b5ce3f78b4de49fb982803fdf (diff)
bisect.jpl: add setRemote() to set up a git remote
Add setRemote() function to set up or update a git remote in the kernel repository. This needs to be used in several places. Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
Diffstat (limited to 'jenkins/bisect.jpl')
-rw-r--r--jenkins/bisect.jpl53
1 files changed, 32 insertions, 21 deletions
diff --git a/jenkins/bisect.jpl b/jenkins/bisect.jpl
index 18b51c0..13cf953 100644
--- a/jenkins/bisect.jpl
+++ b/jenkins/bisect.jpl
@@ -142,6 +142,21 @@ git checkout --detach ${git_rev}
}
}
+def setRemote(kdir, name, url) {
+ dir(kdir) {
+ sh(script: """
+if git remote | grep -e '^${name}\$'; then
+ git remote set-url ${name} ${url}
+ git remote update ${name}
+ git remote prune ${name}
+else
+ git remote add ${name} ${url}
+ git remote update ${name}
+fi
+""")
+ }
+}
+
/* ----------------------------------------------------------------------------
* cloning projects
*/
@@ -152,28 +167,24 @@ def cloneKciCore(kci_core) {
}
def cloneLinux(kdir) {
- echo """
+ print("""\
Initialising kernel tree
url: ${params.KERNEL_URL}
branch: ${params.KERNEL_BRANCH}
- path: ${kdir}"""
- sh """
-if [ -d ${kdir}/.git ]; then
- cd ${kdir}
- if git remote | grep -e '^${params.KERNEL_TREE}\$'; then
- git remote set-url ${params.KERNEL_TREE} ${params.KERNEL_URL}
- git remote update ${params.KERNEL_TREE}
- git remote prune ${params.KERNEL_TREE}
- else
- git remote add ${params.KERNEL_TREE} ${params.KERNEL_URL}
- git remote update ${params.KERNEL_TREE}
- fi
-else
- git clone ${params.KERNEL_URL} ${kdir} \
- -b ${params.KERNEL_BRANCH} \
- -o ${params.KERNEL_TREE}
- cd ${kdir}
-fi
+ path: ${kdir}""")
+
+ if (sh(returnStatus: true, script: "test -d ${kdir}/.git") == 0) {
+ setRemote(kdir, params.KERNEL_TREE, params.KERNEL_URL)
+ } else {
+ sh(script: """
+git clone ${params.KERNEL_URL} ${kdir} \
+ -b ${params.KERNEL_BRANCH} \
+ -o ${params.KERNEL_TREE}
+""")
+ }
+
+ dir(kdir) {
+ sh(script: """
git config user.name 'kernelci.org bot'
git config user.email bot@kernelci.org
git reset --hard
@@ -186,8 +197,8 @@ for t in \$(git tag -l | grep ${env.JOB_NAME}); do git tag -d \$t; done
git fetch ${params.KERNEL_TREE} ${params.KERNEL_BRANCH} --tags
git checkout ${params.BAD_COMMIT} -b ${params.KERNEL_BRANCH}
git symbolic-ref HEAD refs/heads/${params.KERNEL_BRANCH}
-cd -
-"""
+""")
+ }
}
/* ----------------------------------------------------------------------------