diff options
7 files changed, 414 insertions, 0 deletions
diff --git a/jjb/common/include-agl-run-test-short-jellyfish.sh b/jjb/common/include-agl-run-test-short-jellyfish.sh new file mode 100644 index 00000000..91f0a57f --- /dev/null +++ b/jjb/common/include-agl-run-test-short-jellyfish.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-jellyfish-release/include-release-jjb-release-move-sandbox.sh b/jjb/release-jjb-jellyfish-release/include-release-jjb-release-move-sandbox.sh new file mode 100644 index 00000000..2f85a3ea --- /dev/null +++ b/jjb/release-jjb-jellyfish-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-jellyfish-release/release-jjb-release.yaml b/jjb/release-jjb-jellyfish-release/release-jjb-release.yaml new file mode 100644 index 00000000..601e1132 --- /dev/null +++ b/jjb/release-jjb-jellyfish-release/release-jjb-release.yaml @@ -0,0 +1,49 @@ +--- +- project: + name: release-jjb-jellyfish-release-from-snapshot + jobs: + - release-jjb-jellyfish-release-from-snapshot + +- job-template: + name: 'release-jjb-jellyfish-release-from-snapshot' + project-type: freestyle + concurrent: false + node: control-slave + + parameters: + - string: + name: GERRIT_BRANCH + default: master + description: "branch to build" + - string: + name: RELEASE_BRANCH + default: jellyfish + description: "release branch to build" + - string: + name: RELEASE_VERSION + default: 9.99.1 + 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-jellyfish-sources" + current-parameters: true + block: true + same-node: true diff --git a/jjb/release-jjb-jellyfish-snapshot/include-release-jjb-jellyfish-snapshot-rsync.sh b/jjb/release-jjb-jellyfish-snapshot/include-release-jjb-jellyfish-snapshot-rsync.sh new file mode 100644 index 00000000..9be7c6f8 --- /dev/null +++ b/jjb/release-jjb-jellyfish-snapshot/include-release-jjb-jellyfish-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-jellyfish-snapshot/release-jjb-jellyfish-snapshot.yaml b/jjb/release-jjb-jellyfish-snapshot/release-jjb-jellyfish-snapshot.yaml new file mode 100644 index 00000000..45e14d15 --- /dev/null +++ b/jjb/release-jjb-jellyfish-snapshot/release-jjb-jellyfish-snapshot.yaml @@ -0,0 +1,130 @@ +--- +- project: + name: release-jjb-jellyfish-snapshot + jobs: + - release-jjb-jellyfish-snapshot + +- job-template: + name: 'release-jjb-jellyfish-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/jellyfish_9.99.1 + description: "refspec to build" + - string: + name: RELEASE_VERSION + default: 9.99.1 + description: "release version number for build" + - string: + name: RELEASE_BRANCH + default: jellyfish + 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/jellyfish/**' + + 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-jellyfish-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-jellyfish.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-jellyfish-sources/include-release-jjb-release-sources-rsync.sh b/jjb/release-jjb-jellyfish-sources/include-release-jjb-release-sources-rsync.sh new file mode 100644 index 00000000..ceac3acd --- /dev/null +++ b/jjb/release-jjb-jellyfish-sources/include-release-jjb-release-sources-rsync.sh @@ -0,0 +1,62 @@ +#!/bin/bash + +#set -x +set -e + +# 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-jellyfish-sources/release-jjb-sources.yaml b/jjb/release-jjb-jellyfish-sources/release-jjb-sources.yaml new file mode 100644 index 00000000..a9292d86 --- /dev/null +++ b/jjb/release-jjb-jellyfish-sources/release-jjb-sources.yaml @@ -0,0 +1,44 @@ +--- +- project: + name: release-jjb-jellyfish-sources + jobs: + - release-jjb-jellyfish-sources + +- job-template: + name: 'release-jjb-jellyfish-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: 9.99.1 + description: "release version number for build" + - string: + name: RELEASE_BRANCH + default: jellyfish + 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 |