SPEC-1850: Implement CIBT for applications build 55/20955/3
authorCorentin LABBE <clabbe@baylibre.com>
Mon, 8 Apr 2019 13:47:34 +0000 (15:47 +0200)
committerCorentin LABBE <clabbe@baylibre.com>
Tue, 16 Apr 2019 10:16:43 +0000 (12:16 +0200)
This commit enable CIBT for applications.
For keeping the same naming for GERRIT_PATCHSET_NUMBER and
GERRIT_CHANGEID_NUMBER and use of the new releng-scripts app-changeid/app-patchset,
we use a new jjb/common/include-agl-app-run-test-short.sh

Change-Id: Ic2a93327236b932ae43125a172237a3882f4569e
Signed-off-by: Corentin LABBE <clabbe@baylibre.com>
jjb/ci-apps-verify/ci-apps-jjb.yaml
jjb/common/include-agl-app-run-test-short.sh [new file with mode: 0644]

index 8f2444e..710ca36 100644 (file)
@@ -78,6 +78,8 @@
       - ci-apps-{project}-verify-{aglbranch}
       - ci-apps-{project}-verify-{aglbranch}-CIB-{architecture}
       - ci-apps-{project}-verify-{aglbranch}-CIB-finish-success
+      - ci-apps-{project}-verify-{aglbranch}-CIBT-{architecture}
+      - ci-apps-{project}-verify-{aglbranch}-CIBT-finish-success
       - ci-apps-{project}-verify-{aglbranch}-signal-gracetime
       - ci-apps-{project}-verify-{aglbranch}-failure
       - ci-apps-{project}-remove-{aglbranch}-artifacts
@@ -87,8 +89,6 @@
       # currently unused templates
       # - ci-apps-{project}-verify-CIB-start
       # - ci-apps-{project}-verify-CIBT-start
-      #- ci-apps-{project}-verify-CIBT-{architecture}
-      #- ci-apps-{project}-verify-CIBT-finish-success
 
 
 ################################################################################################################################################################
               current-parameters: true
               abort-all-job: true
               kill-phase-on: FAILURE
+      - multijob:
+          name: CIBT-{project}
+          condition: SUCCESSFUL
+          projects:
+            - name: 'ci-apps-{project}-verify-{aglbranch}-CIBT-x86-64'
+              current-parameters: true
+              #abort-all-job: true
+              kill-phase-on: FAILURE
+              predefined-parameters: AGLBRANCH={aglbranch}
+      - multijob:
+          name: CIBT-{project}-finish-success
+          condition: SUCCESSFUL
+          projects:
+            - name: 'ci-apps-{project}-verify-{aglbranch}-CIBT-finish-success'
+              current-parameters: true
+              abort-all-job: true
+              kill-phase-on: FAILURE
+
 
 
 ################################################################################
 # ###########################
 
 - job-template:
-    name: 'ci-apps-{project}-verify-CIBT-{architecture}'
+    name: 'ci-apps-{project}-verify-{aglbranch}-CIBT-{architecture}'
     project-type: freestyle
     concurrent: true
     node: hwtest-slave
           default: "2"
           description: "patchset # to build"
       - string:
-          name: MACHINE
+          name: TARGETARCH
           default: '{architecture}'
-          description: "Machine to build"
+          description: "Architecture to build"
 
     build-discarder:
       days-to-keep: 30
           - ../common/include-agl-select.sh
           - ../common/include-agl-run-test-prepare.sh
           - ../common/include-agl-lava-labs-prepare.sh
-          - ../common/include-agl-run-test-short.sh
+          - ../common/include-agl-app-run-test-short.sh
           - ../common/include-agl-lava-jobs-submit.sh
 
     publishers:
 # ####################
 
 - job-template:
-    name: 'ci-apps-{project}-verify-CIBT-finish-success'
+    name: 'ci-apps-{project}-verify-{aglbranch}-CIBT-finish-success'
     project-type: freestyle
     concurrent: true
     node: control-slave
diff --git a/jjb/common/include-agl-app-run-test-short.sh b/jjb/common/include-agl-app-run-test-short.sh
new file mode 100644 (file)
index 0000000..e26cb60
--- /dev/null
@@ -0,0 +1,48 @@
+# (c) 2019 Corentin Labbe clabbe(at)baylibre.com
+# License GPLv2
+# Copied from jjb/common/include-agl-run-test-short.sh
+
+################################################################################
+## Run SHORT CI test
+################################################################################
+
+set -x
+
+cd $REPODIR
+
+echo "# LAVA lab target: ${LAVA_LAB} #"
+# releng-scripts depends on jinja2 >= 2.9
+echo "## Check version of python-jinja2: "
+pip show jinja2
+CREATE_ARGS=""
+case $TARGETARCH in
+arm)
+CREATE_ARGS+="--machine qemuarm "
+;;
+x86_64)
+CREATE_ARGS+="--machine qemux86_64 "
+;;
+aarch64)
+CREATE_ARGS+="--machine qemuarm64 "
+;;
+*)
+       echo "ERROR: unknown architecture $TARGETARCH"
+       exit 1
+;;
+esac
+CREATE_ARGS+="--build-type snapshot --branch master --version latest "
+[[ ! -z $GERRIT_CHANGE_NUMBER ]] && CREATE_ARGS+="--app-changeid $GERRIT_CHANGE_NUMBER "
+[[ ! -z $GERRIT_PATCHSET_NUMBER ]] && CREATE_ARGS+="--app-patchset $GERRIT_PATCHSET_NUMBER "
+BUILD_VERSION="AGL-gerrit-$GERRIT_CHANGE_NUMBER-$GERRIT_PATCHSET_NUMBER"
+[[ -e output/repo-manifest-r.txt.sha1 ]] && BUILD_VERSION+="-$(cat output/repo-manifest-r.txt.sha1)"
+CREATE_ARGS+="--name AGL-gerrit-$GERRIT_CHANGE_NUMBER-$GERRIT_PATCHSET_NUMBER "
+CREATE_ARGS+="--build-version $BUILD_VERSION "
+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