diff options
author | Fathi Boudra <fathi.boudra@linaro.org> | 2015-06-02 22:55:17 +0300 |
---|---|---|
committer | Fathi Boudra <fathi.boudra@linaro.org> | 2015-06-02 22:55:17 +0300 |
commit | c9075b84c6eb50b7930e14e62a471ade0a4ddadc (patch) | |
tree | 25ee2f978bad862be0a4d5238b00109998267399 /linaro-edk2-prep-matrix.yaml | |
parent | e709b4ba8c5358d2e3b1f2ec436ad4e29c4be1ec (diff) |
linaro-edk2-prep-matrix: add new job
Change-Id: I6065a228c8f0e9842457ca0f969f09fcb2e7b08b
Signed-off-by: Roy Franc <roy.franz@linaro.org>
Diffstat (limited to 'linaro-edk2-prep-matrix.yaml')
-rw-r--r-- | linaro-edk2-prep-matrix.yaml | 146 |
1 files changed, 146 insertions, 0 deletions
diff --git a/linaro-edk2-prep-matrix.yaml b/linaro-edk2-prep-matrix.yaml new file mode 100644 index 0000000000..fb566479f4 --- /dev/null +++ b/linaro-edk2-prep-matrix.yaml @@ -0,0 +1,146 @@ +- job: + name: linaro-edk2-prep-matrix + project-type: matrix + defaults: global + logrotate: + daysToKeep: 30 + numToKeep: 30 + properties: + - authorization: + anonymous: + - job-read + - job-extended-read + linaro: + - job-read + - job-extended-read + - job-build + - job-cancel + disabled: false + node: build +# child-workspace: . + display-name: 'Linaro EDK II - UEFI Continuous Integration (pre-release) - Matrix' +# scm: +# - git: +# url: http://git.linaro.org/git/uefi/linaro-edk2.git +# refspec: +refs/heads/release-prep:refs/remotes/origin/release-prep +# name: origin +# branches: +# - refs/heads/release-prep +# basedir: linaro-edk2 +# skip-tag: true +# shallow-clone: true +# clean: true +# wipe-workspace: false +# triggers: +# - pollscm: 'H/5 * * * *' + axes: + - axis: + type: user-defined + name: MX_B + values: + - qemu64 + - qemu + - juno-armbds + - juno + - fvp-base-armbds + - mustang + - fvp-foundation-armbds + - rtsm_a15mpcore-armbds + - tc2-armbds + - beagle-armbds + - axis: + type: user-defined + name: MX_TYPE + values: + - RELEASE + - DEBUG + - axis: + type: user-defined + name: MX_TC + values: +# - 47 + - 48 + - 49 + - axis: + type: slave + name: label + values: + - docker-utopic + execution-strategy: + combination-filter: | + MX_B=="qemu64" && MX_TYPE=="RELEASE" && MX_TC=="48" +# sequential: true + wrappers: + - timestamps +# - build-name: +# name: '#${BUILD_NUMBER}-${GIT_REVISION,length=8}' + - matrix-tie-parent: + node: build + builders: + - linaro-publish-token + - shell: | + #!/bin/bash + + export JOB_NAME=linaro-edk2-prep + echo "MX_B: ${MX_B}" + echo "MX_TYPE: ${MX_TYPE}" + echo "BUILD_NUMBER: ${BUILD_NUMBER}" + echo "WORKSPACE: ${WORKSPACE}" + + set -ex + + # Here we check if we are the 'touchstone build. There _MUST_ be only 1 of these, as this is used + # to do some per-build setup (initialize reference repository, etc) + # This configuration will build first, and by itself. After this is successful, then + # other builds can go in parallel. + export FIRST_BUILD=0 + if [ ${MX_B} == "qemu64" && ${MX_TYPE} == "RELEASE" && ${MX_TC} == "48" ]; then + export FIRST_BUILD=1 + fi + echo "FIRST_BUILD: ${FIRST_BUILD}" + + # Find the base of the multi-config workspace so we can cache copies + # of the git repos there. + pushd . + while : ; do + TT=$(pwd) + WS_BASE=$(pwd) + TT=$(basename ${TT}) + [[ "${TT}" != "workspace" ]] || break + [[ "${TT}" == "/" ]] && exit 1 + cd .. + done + popd + + echo "WS_BASE is: ${WS_BASE}" + export WS_BASE + + trap cleanup_exit INT TERM EXIT + + cleanup_exit() + { + cd ${WORKSPACE} + rm -rf uefi-ci uefi-tools + # rm -rf ${JOB_NAME}-build + # rm -rf out + } + + # Use pre-installed linaro toolchain + [ ${MX_TC} == "48" ] && export PATH="${HOME}/srv/toolchain/arm-tc-14.04/bin:${HOME}/srv/toolchain/arm64-tc-14.04/bin:$PATH" + [ ${MX_TC} == "49" ] && export PATH="${HOME}/srv/toolchain/arm-tc-15.02/bin:${HOME}/srv/toolchain/arm64-tc-15.02/bin:$PATH" + + git clone git://git.linaro.org/uefi/uefi-tools.git + git clone git://git.linaro.org/people/roy.franz/uefi-ci.git -b rfranz-jenkins-test uefi-ci + bash -x uefi-ci/uefi.sh + + builddir=${WORKSPACE}/${JOB_NAME}-build + outdir=${WORKSPACE}/out + + rm -rf ${outdir} + mkdir -p ${outdir} + mv ${builddir}/* ${outdir}/ + find ${outdir}/ -name '*QEMU_EFI.fd' -exec bash -c 'in=${1}; out=${in%fd}img; cat $in /dev/zero | dd iflag=fullblock bs=1M count=64 of=$out; gzip -9 $out' _ {} \; + + OUT_DIR=${WORKSPACE}/output/mx-build-${BUILD_NUMBER}-gcc${MX_TC} + mkdir -p ${OUT_DIR} + cp -r out/* ${OUT_DIR}/ |