aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan-Simon Moeller <jsmoeller@linuxfoundation.org>2023-05-11 22:27:14 +0200
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>2023-05-11 22:27:14 +0200
commit6d7054c476b1a2f8bfabe409bf56d07da1266b6e (patch)
tree41b9f46e9a23574760b48536f2ac26e8624358f0
parent11a623e3a2cf2ab987d14e8a1e4c4ab070a1a69b (diff)
Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Change-Id: I9847340a854086273fab07b9895e4a1c66cb4e39
-rw-r--r--jjb/ci-AGL-verify/ci-platform-jjb.yaml79
-rw-r--r--jjb/common/include-agl-run-test-short-octopus.sh45
-rw-r--r--jjb/common/include-agl-run-ycl-ci.sh35
-rw-r--r--jjb/release-jjb-octopus-release/include-release-jjb-release-move-sandbox.sh27
-rw-r--r--jjb/release-jjb-octopus-release/release-jjb-release.yaml49
-rw-r--r--jjb/release-jjb-octopus-snapshot/bitbake-html5-image-qemux86-64.sh21
-rw-r--r--jjb/release-jjb-octopus-snapshot/include-release-jjb-octopus-snapshot-rsync.sh57
-rw-r--r--jjb/release-jjb-octopus-snapshot/release-jjb-octopus-snapshot.yaml126
-rw-r--r--jjb/release-jjb-octopus-sources/include-release-jjb-release-sources-rsync.sh67
-rw-r--r--jjb/release-jjb-octopus-sources/release-jjb-sources.yaml44
10 files changed, 543 insertions, 7 deletions
diff --git a/jjb/ci-AGL-verify/ci-platform-jjb.yaml b/jjb/ci-AGL-verify/ci-platform-jjb.yaml
index 19453e13..daee871e 100644
--- a/jjb/ci-AGL-verify/ci-platform-jjb.yaml
+++ b/jjb/ci-AGL-verify/ci-platform-jjb.yaml
@@ -27,6 +27,7 @@
- ci-platform-{project}-verify
# - ci-platform-{project}-verify-CIB-start #unused
- ci-platform-{project}-verify-CIB-{machine}
+ - ci-platform-{project}-verify-YCL-qemux86-64
- ci-platform-{project}-verify-CIB-html5-qemux86-64
- ci-platform-{project}-verify-CIB-flutter-qemux86-64
- ci-platform-{project}-verify-CIB-ic-multicontainer-qemux86-64
@@ -110,6 +111,10 @@
current-parameters: true
abort-all-job: true
kill-phase-on: FAILURE
+ - name: 'ci-platform-{project}-verify-YCL-qemux86-64'
+ current-parameters: true
+ abort-all-job: true
+ kill-phase-on: FAILURE
- multijob:
name: CIB-{project}-devboards
condition: SUCCESSFUL
@@ -351,13 +356,13 @@
- ../common/include-agl-run-test-prepare.sh
- ../common/include-agl-run-test-rsync-changeid.sh
- ../common/include-agl-setup-and-bitbake-ivi-image.sh
- - conditional-step:
- condition-kind: always
- steps:
- - shell:
- !include-raw-escape:
- - ../common/include-agl-get-cost.sh
-
+# - conditional-step:
+# condition-kind: always
+# steps:
+# - shell:
+# !include-raw-escape:
+# - ../common/include-agl-get-cost.sh
+#
# publishers:
# - naginator:
# rerun-unstable-builds: true
@@ -366,6 +371,66 @@
# max-failed-builds: 2
# #regular-expression: "Unexpected termination of the channel"
+################################################################################
+################################################################################
+# -verify-CIB-{machine} = build for machine
+################################################################################
+- job-template:
+ name: 'ci-platform-{project}-verify-YCL-qemux86-64'
+ project-type: freestyle
+ concurrent: true
+ node: agl-test-slave
+ description: "Managed by JJB. Do not Edit. \
+ <br>Build time graph:<br><img src='buildTimeGraph/png' />"
+ parameters:
+ - string:
+ name: GERRIT_PROJECT
+ default: 'AGL/{project}'
+ description: "Project to build"
+ - string:
+ name: GERRIT_BRANCH
+ default: master
+ description: "branch to build"
+ - string:
+ name: GERRIT_REFSPEC
+ default: refs/heads/master
+ description: "refspec to build"
+ - string:
+ name: GERRIT_CHANGE_NUMBER
+ default: "8313"
+ description: "change # to build"
+ - string:
+ name: GERRIT_PATCHSET_NUMBER
+ default: "2"
+ description: "patchset # to build"
+ - string:
+ name: MACHINE
+ default: "qemux86-64"
+ description: "Machine to build"
+ build-discarder:
+ days-to-keep: 30
+ artifact-days-to-keep: -1
+ artifact-num-to-keep: 5
+ wrappers:
+ - agl-infra-wrappers:
+ build-timeout: '{build-timeout}'
+ - openstack:
+ single-use: true
+ - credentials-binding:
+ - text:
+ credential-id: BAY_KCIAPI_TOKEN
+ variable: BAY_KCIAPI_TOKEN
+ - text:
+ credential-id: AGL_KCIAPI_TOKEN
+ variable: AGL_KCIAPI_TOKEN
+ builders:
+ - shell:
+ !include-raw-escape:
+ - ../common/include-agl-header.sh
+ - ../common/include-agl-repo.sh
+ #- ../common/include-agl-select.sh
+ #- ../common/include-agl-source-aglsetup.sh
+ - ../common/include-agl-run-ycl-ci.sh
################################################################################
################################################################################
diff --git a/jjb/common/include-agl-run-test-short-octopus.sh b/jjb/common/include-agl-run-test-short-octopus.sh
new file mode 100644
index 00000000..91f0a57f
--- /dev/null
+++ b/jjb/common/include-agl-run-test-short-octopus.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/common/include-agl-run-ycl-ci.sh b/jjb/common/include-agl-run-ycl-ci.sh
new file mode 100644
index 00000000..a481c872
--- /dev/null
+++ b/jjb/common/include-agl-run-ycl-ci.sh
@@ -0,0 +1,35 @@
+# (c) 2023 Jan-Simon Moeller dl9pf(at)gmx.de
+# License GPLv2
+
+################################################################################
+## Run yocto-check-layer over AGL layers
+################################################################################
+
+pushd
+
+# meta-agl
+pushd meta-agl
+ if test -x scripts/ci-yocto-check-layer.sh ; then
+ ./scripts/ci-yocto-check-layer.sh
+ fi
+popd
+
+
+# meta-agl-demo
+pushd meta-agl-demo
+ if test -x scripts/ci-yocto-check-layer.sh ; then
+ ./scripts/ci-yocto-check-layer.sh
+ fi
+popd
+
+
+# meta-agl-devel
+#pushd meta-agl-devel
+# for i in `find . -name "run-yocto-check-layer.sh" | sed -e "s#/scripts/run-yocto-check-layer.sh##g" | sort | uniq` ; do
+# pushd $i
+# if test -x ./scripts/run-yocto-check-layer.sh ; then
+# ./scripts/run-yocto-check-layer.sh
+# fi
+# popd
+# done
+#popd
diff --git a/jjb/release-jjb-octopus-release/include-release-jjb-release-move-sandbox.sh b/jjb/release-jjb-octopus-release/include-release-jjb-release-move-sandbox.sh
new file mode 100644
index 00000000..2f85a3ea
--- /dev/null
+++ b/jjb/release-jjb-octopus-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-octopus-release/release-jjb-release.yaml b/jjb/release-jjb-octopus-release/release-jjb-release.yaml
new file mode 100644
index 00000000..a8b2fda1
--- /dev/null
+++ b/jjb/release-jjb-octopus-release/release-jjb-release.yaml
@@ -0,0 +1,49 @@
+---
+- project:
+ name: release-jjb-octopus-release-from-snapshot
+ jobs:
+ - release-jjb-octopus-release-from-snapshot
+
+- job-template:
+ name: 'release-jjb-octopus-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: octopus
+ description: "release branch to build"
+ - string:
+ name: RELEASE_VERSION
+ default: 14.92.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-octopus-sources"
+ current-parameters: true
+ block: true
+
diff --git a/jjb/release-jjb-octopus-snapshot/bitbake-html5-image-qemux86-64.sh b/jjb/release-jjb-octopus-snapshot/bitbake-html5-image-qemux86-64.sh
new file mode 100644
index 00000000..78af7470
--- /dev/null
+++ b/jjb/release-jjb-octopus-snapshot/bitbake-html5-image-qemux86-64.sh
@@ -0,0 +1,21 @@
+# (c) 2016 Jan-Simon Moeller dl9pf(at)gmx.de
+# License GPLv2
+
+################################################################################
+## bitbake the sdk
+################################################################################
+#if ! test x"${GERRIT_BRANCH}" = x"dab" ; then
+#bitbake wic-tools
+#fi
+
+if test x"qemux86-64" = x"${TARGETMACHINE}" ; then
+
+# finally, build the agl-demo-platform (we retry to catch the tar-native bug)
+#( ( bitbake -c $TARGETSDK $TARGETIMAGE ) || ( echo '## Failed once, retry .. ##' ; sync ; sleep 2 ; bitbake -c $TARGETSDK $TARGETIMAGE ) ) || ( echo '## Failed again, bail out ... ##' ; exit 1 )
+echo 'AGL_DEFAULT_IMAGE_FSTYPES_forcevariable = "wic.vmdk.xz wic.xz ext4.xz"' >> conf/local.conf
+echo 'AGL_EXTRA_IMAGE_FSTYPES_forcevariable = ""' >> conf/local.conf
+( ( bitbake agl-demo-platform-html5 ) || ( echo '## Failed once, retry .. ##' ; sync ; sleep 2 ; bitbake agl-demo-platform-html5 ) ) || ( echo '## Failed again, bail out ... ##' ; exit 1 )
+
+du -hs tmp/deploy/*
+
+fi \ No newline at end of file
diff --git a/jjb/release-jjb-octopus-snapshot/include-release-jjb-octopus-snapshot-rsync.sh b/jjb/release-jjb-octopus-snapshot/include-release-jjb-octopus-snapshot-rsync.sh
new file mode 100644
index 00000000..9be7c6f8
--- /dev/null
+++ b/jjb/release-jjb-octopus-snapshot/include-release-jjb-octopus-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-octopus-snapshot/release-jjb-octopus-snapshot.yaml b/jjb/release-jjb-octopus-snapshot/release-jjb-octopus-snapshot.yaml
new file mode 100644
index 00000000..0573618b
--- /dev/null
+++ b/jjb/release-jjb-octopus-snapshot/release-jjb-octopus-snapshot.yaml
@@ -0,0 +1,126 @@
+---
+- project:
+ name: release-jjb-octopus-snapshot
+ jobs:
+ - release-jjb-octopus-snapshot
+
+- job-template:
+ name: 'release-jjb-octopus-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/octopus_14.92.0
+ description: "refspec to build"
+ - string:
+ name: RELEASE_VERSION
+ default: 14.92.0
+ description: "release version number for build"
+ - string:
+ name: RELEASE_BRANCH
+ default: octopus
+ 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
+ - bbe
+ # 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/octopus/**'
+
+ 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
+ - bitbake-html5-image-qemux86-64.sh
+ - shell:
+ !include-raw-escape: include-release-jjb-octopus-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-octopus.sh
+ - ../common/include-agl-lava-jobs-submit-only.sh
diff --git a/jjb/release-jjb-octopus-sources/include-release-jjb-release-sources-rsync.sh b/jjb/release-jjb-octopus-sources/include-release-jjb-release-sources-rsync.sh
new file mode 100644
index 00000000..b0947b8b
--- /dev/null
+++ b/jjb/release-jjb-octopus-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 --repo-branch=repo-1 --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-octopus-sources/release-jjb-sources.yaml b/jjb/release-jjb-octopus-sources/release-jjb-sources.yaml
new file mode 100644
index 00000000..dc2d4628
--- /dev/null
+++ b/jjb/release-jjb-octopus-sources/release-jjb-sources.yaml
@@ -0,0 +1,44 @@
+---
+- project:
+ name: release-jjb-octopus-sources
+ jobs:
+ - release-jjb-octopus-sources
+
+- job-template:
+ name: 'release-jjb-octopus-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: 14.92.0
+ description: "release version number for build"
+ - string:
+ name: RELEASE_BRANCH
+ default: octopus
+ 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