diff options
author | Jan-Simon Moeller <jsmoeller@linuxfoundation.org> | 2023-05-11 22:27:14 +0200 |
---|---|---|
committer | Jan-Simon Moeller <jsmoeller@linuxfoundation.org> | 2023-05-11 22:27:14 +0200 |
commit | 6d7054c476b1a2f8bfabe409bf56d07da1266b6e (patch) | |
tree | 41b9f46e9a23574760b48536f2ac26e8624358f0 | |
parent | 11a623e3a2cf2ab987d14e8a1e4c4ab070a1a69b (diff) |
Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
Change-Id: I9847340a854086273fab07b9895e4a1c66cb4e39
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 |