aboutsummaryrefslogtreecommitdiffstats
path: root/jjb
diff options
context:
space:
mode:
authorJan-Simon Möller <jsmoeller@linuxfoundation.org>2020-12-19 00:10:18 +0100
committerJan-Simon Möller <jsmoeller@linuxfoundation.org>2020-12-19 00:11:53 +0100
commit503579a0e8c0b9cc13355ba73e2a3580ce48f1fc (patch)
tree695bf16f6c7fb546de23d17e0125ab34c43f65d8 /jjb
parent2b26c465e81886f6dad1546538143ed976969367 (diff)
Add release jobs for koi
Change-Id: I3b99282f42268ad9ea206a491ecf79a5e05af8d2 Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
Diffstat (limited to 'jjb')
-rw-r--r--jjb/common/include-agl-header.sh6
-rw-r--r--jjb/common/include-agl-run-test-short-koi.sh45
-rw-r--r--jjb/release-jjb-koi-release/include-release-jjb-release-move-sandbox.sh27
-rw-r--r--jjb/release-jjb-koi-release/release-jjb-release.yaml49
-rw-r--r--jjb/release-jjb-koi-snapshot/include-release-jjb-koi-snapshot-rsync.sh57
-rw-r--r--jjb/release-jjb-koi-snapshot/release-jjb-koi-snapshot.yaml130
-rw-r--r--jjb/release-jjb-koi-sources/include-release-jjb-release-sources-rsync.sh67
-rw-r--r--jjb/release-jjb-koi-sources/release-jjb-sources.yaml44
8 files changed, 423 insertions, 2 deletions
diff --git a/jjb/common/include-agl-header.sh b/jjb/common/include-agl-header.sh
index 1b7b31d2..857a6ea6 100644
--- a/jjb/common/include-agl-header.sh
+++ b/jjb/common/include-agl-header.sh
@@ -151,17 +151,19 @@ if test x"m3ulcb-nogfx" = x"$MACHINE"; then
export TARGETMACHINE="m3ulcb"
export TARGETSDKIMAGE="agl-image-ivi-crosssdk"
fi
+set -x
# h3ulcb-nogfx means no graphic drivers
if test x"h3ulcb-nogfx" = x"$MACHINE"; then
export TARGETIMAGE=${TARGETIMAGEnogfx}
if test x"master" = x"${TARGETBRANCH}" ; then
- export TARGETFEATURES="${TARGETFEATURESnogfx} agl-refhw-h3"
+ export TARGETFEATURES="${TARGETFEATURESnogfx} agl-refhw-h3"
else
- export TARGETFEATURES="${TARGETFEATURESnogfx}"
+ export TARGETFEATURES="${TARGETFEATURESnogfx}"
fi
export TARGETMACHINE="h3ulcb"
export TARGETSDKIMAGE="agl-image-ivi-crosssdk"
fi
+set +x
if test x"raspberrypi4" = x"${MACHINE}" -a x"master" = x"${TARGETBRANCH}" ; then
export TARGETMACHINE="raspberrypi4-64"
diff --git a/jjb/common/include-agl-run-test-short-koi.sh b/jjb/common/include-agl-run-test-short-koi.sh
new file mode 100644
index 00000000..91f0a57f
--- /dev/null
+++ b/jjb/common/include-agl-run-test-short-koi.sh
@@ -0,0 +1,45 @@
+# (c) 2016 Jan-Simon Moeller dl9pf(at)gmx.de
+# License GPLv2
+
+################################################################################
+## Run SHORT CI test
+################################################################################
+
+#set -x
+
+UPLOAD_URL_BASE=http://download.automotivelinux.org/AGL/upload/ci
+UPLOAD_URL=${UPLOAD_URL_BASE}/${RELEASE_BRANCH}/${RELEASE_VERSION}/${MACHINE}/deploy/images/${TARGETMACHINE}
+
+cd $REPODIR
+
+wget -q ${UPLOAD_URL}/build-info || echo "ERROR: fail to download ${UPLOAD_URL}/build-info"
+if [ -e build-info ]; then
+ cat build-info
+ source build-info
+fi
+
+echo "# LAVA lab target: ${LAVA_LAB} #"
+# releng-scripts depends on jinja2 >= 2.9
+echo "## Check version of python-jinja2: "
+pip show jinja2
+CREATE_ARGS=""
+CREATE_ARGS+="--machine ${releng_device} "
+CREATE_ARGS+="--build-type release "
+#[[ ! -z $RELEASE_BRANCH ]] && CREATE_ARGS+="--branch $RELEASE_BRANCH "
+#[[ ! -z $RELEASE_VERSION ]] && CREATE_ARGS+="--version $RELEASE_VERSION "
+CREATE_ARGS+="--url https://download.automotivelinux.org/AGL/upload/ci/${RELEASE_BRANCH}/${RELEASE_VERSION}/${MACHINE}/deploy/images/${TARGETMACHINE}/ "
+CREATE_ARGS+="--name AGL-gerrit-$DIST_BB_AGL_BRANCH-$DIST_BB_AGLVERSION "
+[[ ! -z $DIST_BB_DISTRO_VERSION ]] && CREATE_ARGS+="--build-version $DIST_BB_DISTRO_VERSION "
+[[ ! -z $DIST_BUILD_HASH ]] && CREATE_ARGS+="--commit $DIST_BUILD_HASH "
+[[ ! -z $DIST_BUILD_ID ]] && CREATE_ARGS+="--build-id $DIST_BUILD_ID "
+[[ ! -z $DIST_BB_AGL_BRANCH ]] && CREATE_ARGS+="--branch $DIST_BB_AGL_BRANCH "
+[[ ! -z $DIST_BB_AGLVERSION ]] && CREATE_ARGS+="--version $DIST_BB_AGLVERSION "
+CREATE_ARGS+="--callback-from ${LAVA_LAB} "
+$RELENG/utils/create-jobs.py ${CREATE_ARGS} > testjob.yaml
+
+if [ $? != 0 ]; then
+ echo "ERROR: Machine ${releng_device}: LAVA job creation failed."
+ exit 0
+else
+ cat testjob.yaml
+fi
diff --git a/jjb/release-jjb-koi-release/include-release-jjb-release-move-sandbox.sh b/jjb/release-jjb-koi-release/include-release-jjb-release-move-sandbox.sh
new file mode 100644
index 00000000..2f85a3ea
--- /dev/null
+++ b/jjb/release-jjb-koi-release/include-release-jjb-release-move-sandbox.sh
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+#set -x
+set -e
+
+if test x"" = x"${RELEASE_BRANCH}"; then
+ echo "RELEASE_BRANCH invalid"
+ exit 1
+fi
+
+if test x"" = x"${RELEASE_VERSION}"; then
+ echo "RELEASE_VERSION invalid"
+ exit 1
+fi
+
+
+export REMOTESRC="/srv/download/AGL/upload/ci/${RELEASE_BRANCH}/${RELEASE_VERSION}/"
+export REMOTEDST="/srv/download/AGL/release/${RELEASE_BRANCH}/${RELEASE_VERSION}/"
+
+if test x"yes" = x"$UPLOAD" ; then
+ ssh -o StrictHostKeyChecking=no jenkins-slave@10.30.72.8 mkdir -p ${REMOTEDST}
+ ssh -o StrictHostKeyChecking=no jenkins-slave@10.30.72.8 mv ${REMOTESRC}/* ${REMOTEDST}/
+ ssh -o StrictHostKeyChecking=no jenkins-slave@10.30.72.8 rm -r ${REMOTESRC}
+ ssh -o StrictHostKeyChecking=no jenkins-slave@10.30.72.8 sh -c "cd /srv/download/AGL/release/${RELEASE_BRANCH}/ ; rm latest ; ln -sf ${RELEASE_VERSION} latest ; echo ${RELEASE_VERSION} > latest.txt"
+fi
+
+exit 0 \ No newline at end of file
diff --git a/jjb/release-jjb-koi-release/release-jjb-release.yaml b/jjb/release-jjb-koi-release/release-jjb-release.yaml
new file mode 100644
index 00000000..29ab8790
--- /dev/null
+++ b/jjb/release-jjb-koi-release/release-jjb-release.yaml
@@ -0,0 +1,49 @@
+---
+- project:
+ name: release-jjb-koi-release-from-snapshot
+ jobs:
+ - release-jjb-koi-release-from-snapshot
+
+- job-template:
+ name: 'release-jjb-koi-release-from-snapshot'
+ project-type: freestyle
+ concurrent: false
+ node: agl-test-slave
+
+ parameters:
+ - string:
+ name: GERRIT_BRANCH
+ default: master
+ description: "branch to build"
+ - string:
+ name: RELEASE_BRANCH
+ default: koi
+ description: "release branch to build"
+ - string:
+ name: RELEASE_VERSION
+ default: 10.91.0
+ description: "release version number for build"
+ - string:
+ name: UPLOAD
+ default: yes_or_no
+ description: "Upload?"
+
+ build-discarder:
+ days-to-keep: 30
+ num-to-keep: 40
+ artifact-days-to-keep: -1
+ artifact-num-to-keep: 5
+
+ wrappers:
+ - agl-infra-wrappers:
+ build-timeout: '{build-timeout}'
+
+ builders:
+ - shell:
+ !include-raw-escape:
+ - include-release-jjb-release-move-sandbox.sh
+ - trigger-builds:
+ - project: "release-jjb-koi-sources"
+ current-parameters: true
+ block: true
+ same-node: true
diff --git a/jjb/release-jjb-koi-snapshot/include-release-jjb-koi-snapshot-rsync.sh b/jjb/release-jjb-koi-snapshot/include-release-jjb-koi-snapshot-rsync.sh
new file mode 100644
index 00000000..9be7c6f8
--- /dev/null
+++ b/jjb/release-jjb-koi-snapshot/include-release-jjb-koi-snapshot-rsync.sh
@@ -0,0 +1,57 @@
+#!/bin/bash
+
+#set -x
+set -e
+echo "#######################################"
+echo "#######################################"
+ls -alh
+echo "#######################################"
+echo "#######################################"
+tree -L 2
+echo "#######################################"
+echo "#######################################"
+set | grep MACHINE
+echo "#######################################"
+echo "#######################################"
+set
+echo "#######################################"
+echo "#######################################"
+
+cd repoclone/output
+
+export REMOTEDST="/srv/download/AGL/upload/ci/${RELEASE_BRANCH}/${RELEASE_VERSION}/${MACHINE}/"
+export RSYNCDST="jenkins-slave@10.30.72.8:${REMOTEDST}"
+export RSYNCSRC=$(pwd)/UPLOAD/${MACHINE}
+
+# construct upload folder
+mv UPLOAD UPLOAD2 || true
+rm -rf UPLOAD2 || true
+mkdir -p UPLOAD/${MACHINE}
+export DEST=$(pwd)/UPLOAD/${MACHINE}
+
+# save space ... remove the rpms
+rm -rf tmp/deploy/rpm || true
+
+rsync -avr --progress --delete tmp/deploy $DEST/
+rsync -avr --progress --delete tmp/log $DEST/
+
+cp ../../current_default.xml $DEST/${MACHINE}_repo_default.xml
+cp conf/local.conf $DEST/local.conf
+cp conf/auto.conf $DEST/auto.conf
+echo "$BUILD_URL" > $DEST/jenkins.build.url
+
+tree $DEST
+
+ls -alhR $DEST
+
+
+
+echo "would do rsync -avr -e \"ssh -o StrictHostKeyChecking=no\" $RSYNCSRC $RSYNCDST "
+
+if test x"yes" = x"$UPLOAD" ; then
+ ssh -o StrictHostKeyChecking=no jenkins-slave@10.30.72.8 rm -rf ${REMOTEDST}
+ ssh -o StrictHostKeyChecking=no jenkins-slave@10.30.72.8 mkdir -p ${REMOTEDST}
+ rsync --delete -avr -e "ssh -o StrictHostKeyChecking=no" $RSYNCSRC/* $RSYNCDST
+fi
+
+exit 0 \ No newline at end of file
diff --git a/jjb/release-jjb-koi-snapshot/release-jjb-koi-snapshot.yaml b/jjb/release-jjb-koi-snapshot/release-jjb-koi-snapshot.yaml
new file mode 100644
index 00000000..1f77a6f2
--- /dev/null
+++ b/jjb/release-jjb-koi-snapshot/release-jjb-koi-snapshot.yaml
@@ -0,0 +1,130 @@
+---
+- project:
+ name: release-jjb-koi-snapshot
+ jobs:
+ - release-jjb-koi-snapshot
+
+- job-template:
+ name: 'release-jjb-koi-snapshot'
+ project-type: matrix
+ concurrent: false
+ node: control-slave
+
+ parameters:
+ - string:
+ name: GERRIT_PROJECT
+ default: AGL/AGL-repo
+ description: "Project to build"
+ - string:
+ name: GERRIT_BRANCH
+ default: master
+ description: "branch to build"
+ - string:
+ name: GERRIT_REFSPEC
+ default: refs/tags/koi_10.91.0
+ description: "refspec to build"
+ - string:
+ name: RELEASE_VERSION
+ default: 10.91.0
+ description: "release version number for build"
+ - string:
+ name: RELEASE_BRANCH
+ default: koi
+ description: "release branch to build"
+ - string:
+ name: UPLOAD
+ default: yes_or_no
+ description: "Upload?"
+ - string:
+ name: BUILDONLY
+ default: ignore
+ description: "build only specified machine"
+ - string:
+ name: DISABLE_SSTATE_MIRROR
+ default: ignore
+ description: "Set to YES to disable sstate-mirror"
+ axes:
+ - axis:
+ type: user-defined
+ name: MACHINE
+ values:
+ - qemux86-64
+ - qemuarm
+ - qemuarm64
+ - raspberrypi4
+ - m3ulcb-nogfx
+ - h3ulcb-nogfx
+ # for aarch64
+ - axis:
+ type: slave
+ name: label
+ values:
+ - agl-test-slave
+
+ build-discarder:
+ days-to-keep: 30
+ num-to-keep: 40
+ artifact-days-to-keep: -1
+ artifact-num-to-keep: 5
+
+ triggers:
+ - gerrit-trigger-patch-submitted-silent:
+ name: 'AGL/AGL-repo'
+ branch: 'regs/tags/koi/**'
+
+ wrappers:
+ - agl-infra-wrappers:
+ build-timeout: '{build-timeout}'
+ - credentials-binding:
+ - username-password-separated:
+ credential-id: agl_main_lava_instance
+ username: AGLLAVAUSER
+ password: AGLLAVATOKEN
+ - username-password-separated:
+ credential-id: agl_main_lava_instance
+ username: LAB_AGL_USER
+ password: LAB_AGL_TOKEN
+ - username-password-separated:
+ credential-id: lab_baylibre_lava_instance
+ username: LAB_BAYLIBRE_USER
+ password: LAB_BAYLIBRE_TOKEN
+ - username-password-separated:
+ credential-id: lab_baylibre_seattle_lava_instance
+ username: LAB_BAYLIBRE_SEATTLE_USER
+ password: LAB_BAYLIBRE_SEATTLE_TOKEN
+
+ builders:
+ - shell:
+ !include-raw-escape:
+ - ../common/include-agl-header.sh
+ - ../common/include-agl-repo.sh
+ - ../common/include-agl-select.sh
+ - ../common/include-agl-export-eula.sh
+ - ../common/include-agl-source-aglsetup.sh
+ - ../common/include-agl-auto-conf.sh
+ - ../common/include-agl-limit-parallelism.sh
+ - ../common/include-agl-cat-auto-conf.sh
+ - ../common/include-agl-local-conf-archiver.sh
+ #- ../common/include-agl-local-conf-isafw.sh
+ - ../common/include-agl-local-conf-include-ptest.sh
+ - ../common/include-agl-local-conf-DISTROFEATURES-AGLCI.sh
+ - ../common/include-agl-local-conf-vmdk.sh
+ - ../common/include-agl-local-conf-rpi3-imagetype.sh
+ #- ../common/include-agl-bitbake-image.sh
+ - ../common/include-agl-bitbake-sdk.sh
+ - shell:
+ !include-raw-escape: include-release-jjb-koi-snapshot-rsync.sh
+ - shell:
+ !include-raw-escape:
+ - ../common/include-agl-header.sh
+ - ../common/include-agl-run-test-prepare.sh
+ #- ../common/include-agl-run-test-rsync-release.sh
+ - ../common/include-agl-lava-labs-prepare.sh
+ - ../common/include-agl-run-test-short-koi.sh
+ - ../common/include-agl-lava-jobs-submit-only.sh
+ - conditional-step:
+ condition-kind: always
+ steps:
+ - shell:
+ !include-raw-escape:
+ - ../common/include-agl-get-cost.sh
diff --git a/jjb/release-jjb-koi-sources/include-release-jjb-release-sources-rsync.sh b/jjb/release-jjb-koi-sources/include-release-jjb-release-sources-rsync.sh
new file mode 100644
index 00000000..7dc96407
--- /dev/null
+++ b/jjb/release-jjb-koi-sources/include-release-jjb-release-sources-rsync.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+#set -x
+set -e
+
+mkdir -p ~/bin/ || true
+curl https://storage.googleapis.com/git-repo-downloads/repo-1 > ~/bin/repo
+chmod a+x ~/bin/repo
+export PATH=$PATH:~/bin/
+
+# construct upload folder
+
+
+BRANCH=${RELEASE_BRANCH}
+REVISION=${RELEASE_VERSION}
+
+
+rm -rf AGLRELEASE || true
+
+mkdir agl-${BRANCH}-${REVISION}
+pushd agl-${BRANCH}-${REVISION}
+
+repo init --reference=/opt/AGL/preclone -q -b ${GERRIT_BRANCH} -u https://gerrit.automotivelinux.org/gerrit/AGL/AGL-repo -m ${BRANCH}_${REVISION}.xml
+
+repo sync --force-sync
+
+repo manifest -r > ../${BRANCH}_${REVISION}.tar.xml
+
+rm -rf .repo
+find . -name *.git | xargs rm -rf
+
+ln -sf meta-agl/README-AGL.md
+
+cat <<EOF > aglsetup.sh
+#!/bin/bash
+
+source ./meta-agl/scripts/aglsetup.sh \$@
+EOF
+
+chmod a+x aglsetup.sh
+
+popd
+
+tar -cjvf agl-${BRANCH}-${REVISION}.tar.bz2 agl-${BRANCH}-${REVISION}
+
+md5sum agl-${BRANCH}-${REVISION}.tar.bz2 > agl-${BRANCH}-${REVISION}.tar.bz2.md5sum
+sha256sum agl-${BRANCH}-${REVISION}.tar.bz2 > agl-${BRANCH}-${REVISION}.tar.bz2.sha256sum
+
+
+
+rm -rf UPLOAD || true
+mkdir -p UPLOAD/
+
+cp -ar agl-${RELEASE_BRANCH}-${RELEASE_VERSION}.* UPLOAD/
+
+export RSYNCSRC=$(pwd)/UPLOAD
+export RSYNCDST="/srv/download/AGL/release/${RELEASE_BRANCH}/"
+
+ls -alh UPLOAD/
+
+if test x"yes" = x"${UPLOAD}" ; then
+ set +x
+ ssh -o StrictHostKeyChecking=no jenkins-slave@10.30.72.8 "mkdir -p ${RSYNCDST}"
+ rsync -avr -e "ssh -o StrictHostKeyChecking=no" ${RSYNCSRC}/* jenkins-slave@10.30.72.8:${RSYNCDST}
+ ssh -o StrictHostKeyChecking=no jenkins-slave@10.30.72.8 "rm -rf ${RSYNCDST}/latest"
+ ssh -o StrictHostKeyChecking=no jenkins-slave@10.30.72.8 "ln -sf ${RELEASE_VERSION} ${RSYNCDST}/latest"
+fi
diff --git a/jjb/release-jjb-koi-sources/release-jjb-sources.yaml b/jjb/release-jjb-koi-sources/release-jjb-sources.yaml
new file mode 100644
index 00000000..e02673bf
--- /dev/null
+++ b/jjb/release-jjb-koi-sources/release-jjb-sources.yaml
@@ -0,0 +1,44 @@
+---
+- project:
+ name: release-jjb-koi-sources
+ jobs:
+ - release-jjb-koi-sources
+
+- job-template:
+ name: 'release-jjb-koi-sources'
+ project-type: freestyle
+ concurrent: false
+ node: agl-test-slave
+
+ parameters:
+ - string:
+ name: GERRIT_BRANCH
+ default: master
+ description: "release version number for build"
+ - string:
+ name: RELEASE_VERSION
+ default: 10.91.0
+ description: "release version number for build"
+ - string:
+ name: RELEASE_BRANCH
+ default: koi
+ description: "release branch to build"
+ - string:
+ name: UPLOAD
+ default: yes_or_no
+ description: "Upload?"
+
+ build-discarder:
+ days-to-keep: 30
+ num-to-keep: 40
+ artifact-days-to-keep: -1
+ artifact-num-to-keep: 5
+
+ wrappers:
+ - agl-infra-wrappers:
+ build-timeout: '{build-timeout}'
+
+ builders:
+ - shell:
+ !include-raw-escape:
+ - include-release-jjb-release-sources-rsync.sh