Paul Sokolovsky | 1516a9d | 2023-09-16 00:01:23 +0300 | [diff] [blame] | 1 | - job: |
| 2 | name: tf-a-eclair-daily |
| 3 | node: docker-tf-a-eclair |
| 4 | project-type: freestyle |
| 5 | concurrent: true |
| 6 | disabled: false |
| 7 | defaults: global |
| 8 | Description: | |
| 9 | ECLAIR (MISRA compliance) testing of TF-A |
| 10 | properties: |
| 11 | - build-discarder: |
| 12 | days-to-keep: 40 |
| 13 | - authorization: |
| 14 | !include: authorization.yaml.inc |
| 15 | parameters: |
| 16 | - string: |
| 17 | name: TF_CONFIG_LIST |
| 18 | default: > |
| 19 | fvp-aarch32-default |
| 20 | fvp-aarch32-enable-runtime-instr |
| 21 | fvp-aarch32-rst-to-sp-min |
| 22 | fvp-boot-el3-payload |
| 23 | fvp-default |
| 24 | fvp-enable-runtime-instr |
| 25 | fvp-ext-pstate-ea-el3 |
| 26 | fvp-no-cohmem |
| 27 | fvp-opteed |
| 28 | fvp-r-default |
| 29 | fvp-rst-bl31 |
| 30 | fvp-tspd |
| 31 | fvp-tspd-gicv2-symmetric-model |
| 32 | fvp-tspd-irq2el3 |
| 33 | fvp-tspd-quad-cluster |
| 34 | fvp-tspd-tbb-mbedtls |
| 35 | fvp-tspd-tsp-async |
| 36 | juno-aarch32-rst-to-sp-min |
| 37 | juno-aarch32-rst-to-sp-min-enable-runtime-instr |
| 38 | juno-default |
| 39 | juno-tspd |
| 40 | description: | |
| 41 | List of TF-A configs to build |
| 42 | - string: |
| 43 | name: MAKE_TARGET |
| 44 | default: '' |
| 45 | description: | |
| 46 | TF-A make target |
| 47 | - string: |
| 48 | name: MAKE_JOBS |
| 49 | default: '16' |
| 50 | description: | |
| 51 | --jobs to pass to make, etc. |
| 52 | - string: |
| 53 | name: DEBUG |
| 54 | default: '1' |
| 55 | description: | |
| 56 | TF-A make DEBUG setting |
| 57 | - string: |
| 58 | name: GERRIT_HOST |
| 59 | default: 'review.trustedfirmware.org' |
| 60 | - string: |
| 61 | name: GERRIT_PROJECT |
| 62 | default: 'TF-A/trusted-firmware-a' |
| 63 | description: | |
| 64 | Git project to build (also set by Gerrit trigger) |
| 65 | - string: |
| 66 | name: GERRIT_REFNAME |
| 67 | default: 'integration' |
| 68 | description: | |
| 69 | Git branch to build (also set by Gerrit trigger) |
| 70 | - string: |
| 71 | name: GERRIT_NEWREV |
| 72 | default: '' |
| 73 | description: | |
| 74 | Git revision to build (also set by Gerrit ref-updated trigger) |
| 75 | - string: |
| 76 | name: MBEDTLS_URL |
| 77 | default: 'https://github.com/Mbed-TLS/mbedtls/archive/mbedtls-3.4.0.tar.gz' |
| 78 | description: | |
| 79 | URL of mbedTLS library to use in build (only for some configurations) |
| 80 | - string: |
| 81 | name: SHARE_FOLDER |
| 82 | default: '/srv/shared/${JOB_NAME}/${BUILD_NUMBER}' |
| 83 | description: 'Folder containing shared repositories for downstream pipeline jobs' |
| 84 | # triggers: |
| 85 | # - timed : 'H 2 * * *' |
| 86 | # - gerrit: |
| 87 | # silent: true |
| 88 | # server-name: 'review.trustedfirmware.org' |
| 89 | # projects: |
| 90 | # - branches: |
| 91 | # - branch-compare-type: PLAIN |
| 92 | # branch-pattern: integration |
| 93 | # project-compare-type: PLAIN |
| 94 | # project-pattern: 'TF-A/trusted-firmware-a' |
| 95 | # trigger-on: |
| 96 | # - ref-updated-event |
| 97 | wrappers: |
| 98 | - timestamps |
| 99 | - timeout: |
Paul Sokolovsky | c030bc8 | 2023-09-16 10:32:10 +0300 | [diff] [blame^] | 100 | timeout: 400 |
Paul Sokolovsky | 1516a9d | 2023-09-16 00:01:23 +0300 | [diff] [blame] | 101 | fail: true |
| 102 | builders: |
| 103 | - shell: | |
| 104 | #!/bin/bash |
| 105 | set -ex |
| 106 | pwd |
| 107 | git clone https://git.trustedfirmware.org/ci/tf-a-ci-scripts.git |
| 108 | git clone https://git.trustedfirmware.org/ci/tf-ci-scripts.git |
| 109 | |
| 110 | git clone https://${GERRIT_HOST}/${GERRIT_PROJECT} -b ${GERRIT_REFNAME} |
| 111 | ls -l |
| 112 | if [ -n "${GERRIT_NEWREV}" ]; then |
| 113 | (cd $(basename ${GERRIT_PROJECT}); git checkout ${GERRIT_NEWREV}) |
| 114 | else |
| 115 | # Checkout last commit from yesterday, to have a stable commit for |
| 116 | # multiple builds. |
| 117 | (cd $(basename ${GERRIT_PROJECT}); git checkout $(git rev-list -n1 --before="today" HEAD)) |
| 118 | fi |
| 119 | (cd $(basename ${GERRIT_PROJECT}); git log -n1) |
| 120 | |
| 121 | export ECLAIR_CONFIG_DIR=$PWD/tf-a-ci-scripts/eclair |
| 122 | . tf-ci-scripts/eclair/utils.sh |
| 123 | # TODO |
| 124 | #. tf-a-ci-scripts/eclair/utils_tfa.sh |
| 125 | |
| 126 | export CROSS_COMPILE=aarch64-none-elf- |
| 127 | export CROSS_COMPILE2=arm-none-eabi- |
| 128 | export CC_ALIASES="${CROSS_COMPILE}gcc" |
| 129 | export CC_ALIASES="${CC_ALIASES} ${CROSS_COMPILE2}gcc" |
| 130 | export CXX_ALIASES="${CROSS_COMPILE}g++" |
| 131 | export LD_ALIASES="${CROSS_COMPILE}ld" |
| 132 | export AR_ALIASES="${CROSS_COMPILE}ar" |
| 133 | export AS_ALIASES="${CROSS_COMPILE}as" |
| 134 | export FILEMANIP_ALIASES="cp mv ${CROSS_COMPILE}objcopy" |
| 135 | export ECLAIR_PROJECT_NAME="TF_A_${JOB_NAME}_${BUILD_NUMBER}" |
| 136 | export ECLAIR_PROJECT_ROOT="${WORKSPACE}/trusted-firmware-a" |
| 137 | |
| 138 | detachLicense 600 |
| 139 | trap "returnLicense" EXIT |
| 140 | |
| 141 | export ECLAIR_ANALYSIS=ECLAIR |
| 142 | eclair_prepare |
| 143 | eclair_analyze tf-a-ci-scripts/eclair/build-tfa-multiple.sh |
| 144 | eclair_make_ecd |
| 145 | eclair_make_reports |
| 146 | eclair_compress_db |
| 147 | |
| 148 | tf-ci-scripts/eclair/analyze_index_html.sh |
| 149 | publishers: |
| 150 | - archive: |
| 151 | artifacts: 'ECLAIR/**, index.html' |
| 152 | excludes: 'ECLAIR/out/.data/**' |
| 153 | latest-only: false |
| 154 | allow-empty: true |
| 155 | - email: |
| 156 | recipients: 'paul.sokolovsky@linaro.org' |