blob: 1f17165fc6f8cd35789600271ea84af312e7421f [file] [log] [blame]
- job:
name: tf-a-eclair-daily
node: docker-tf-a-eclair-3.13
project-type: freestyle
concurrent: true
disabled: false
defaults: global
description: |
ECLAIR (MISRA compliance) testing of TF-A
properties:
- build-discarder:
days-to-keep: 40
parameters:
- string:
name: TF_CONFIG_LIST
default: >
fvp-aarch32-default
fvp-aarch32-enable-runtime-instr
fvp-aarch32-rst-to-sp-min
fvp-boot-el3-payload
fvp-default
fvp-enable-runtime-instr
fvp-ext-pstate-ea-el3
fvp-no-cohmem
fvp-opteed
fvp-r-default
fvp-rst-bl31
fvp-tspd
fvp-tspd-gicv2-symmetric-model
fvp-tspd-irq2el3
fvp-tspd-quad-cluster
fvp-tspd-tbb-mbedtls
fvp-tspd-tsp-async
juno-aarch32-rst-to-sp-min
juno-aarch32-rst-to-sp-min-enable-runtime-instr
juno-default
juno-tspd
description: |
List of TF-A configs to build
- string:
name: MAKE_TARGET
default: ''
description: |
TF-A make target
- string:
name: MAKE_JOBS
default: '16'
description: |
--jobs to pass to make, etc.
- string:
name: DEBUG
default: '1'
description: |
TF-A make DEBUG setting
- string:
name: GERRIT_HOST
default: 'review.trustedfirmware.org'
- string:
name: GERRIT_PROJECT
default: 'TF-A/trusted-firmware-a'
description: |
Git project to build (also set by Gerrit trigger)
- string:
name: GERRIT_REFNAME
default: 'integration'
description: |
Git branch to build (also set by Gerrit trigger)
- string:
name: GERRIT_NEWREV
default: ''
description: |
Git revision to build (also set by Gerrit ref-updated trigger)
- string:
name: MBEDTLS_URL
default: 'https://github.com/Mbed-TLS/mbedtls/archive/mbedtls-3.6.3.tar.gz'
description: |
URL of mbedTLS library to use in build (only for some configurations)
- string:
name: SHARE_FOLDER
default: '/srv/shared/${JOB_NAME}/${BUILD_NUMBER}'
description: 'Folder containing shared repositories for downstream pipeline jobs'
# triggers:
# - timed : 'H 2 * * *'
# - gerrit:
# silent: true
# server-name: 'review.trustedfirmware.org'
# projects:
# - branches:
# - branch-compare-type: PLAIN
# branch-pattern: integration
# project-compare-type: PLAIN
# project-pattern: 'TF-A/trusted-firmware-a'
# trigger-on:
# - ref-updated-event
wrappers:
- timestamps
- timeout:
timeout: 420
fail: true
builders:
- shell: |
#!/bin/bash
set -ex
export PATH=~/.local/bin:$PATH
pwd
git clone https://git.trustedfirmware.org/ci/tf-a-ci-scripts.git
git clone https://git.trustedfirmware.org/ci/tf-ci-scripts.git
git clone https://${GERRIT_HOST}/${GERRIT_PROJECT} -b ${GERRIT_REFNAME}
ls -l
if [ -n "${GERRIT_NEWREV}" ]; then
(cd $(basename ${GERRIT_PROJECT}); git checkout ${GERRIT_NEWREV})
else
# Checkout last commit from yesterday, to have a stable commit for
# multiple builds.
(cd $(basename ${GERRIT_PROJECT}); git checkout $(git rev-list -n1 --before="today" HEAD))
fi
(cd $(basename ${GERRIT_PROJECT}); git log -n1)
export ECLAIR_CONFIG_DIR=$PWD/tf-a-ci-scripts/eclair
. tf-ci-scripts/eclair/utils.sh
# TODO
#. tf-a-ci-scripts/eclair/utils_tfa.sh
. tf-a-ci-scripts/eclair/eclair_vars.sh
detachLicense 600
trap "returnLicense || true" EXIT
export ECLAIR_ANALYSIS=ECLAIR
eclair_prepare
eclair_analyze tf-a-ci-scripts/eclair/build-tfa-multiple.sh
eclair_make_ecd
eclair_make_reports
eclair_compress_db
tf-ci-scripts/eclair/analyze_index_html.sh
publishers:
- archive:
artifacts: 'ECLAIR/**, index.html'
excludes: 'ECLAIR/out/.data/**'
latest-only: false
allow-empty: true