summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
diff options
context:
space:
mode:
authorTom Hughes <tomhughes@chromium.org>2022-09-21 14:10:01 -0700
committerTom Hughes <tomhughes@chromium.org>2022-09-22 12:49:33 -0700
commit2bcf863b492fe7ed8105c853814dba6ed32ba719 (patch)
treefcf6ce5810f9ff9e3c8cce434812dd75492269ed /.gitlab-ci.yml
parente5fb0b9ba488614b5684e640530f00821ab7b943 (diff)
parent28712dae9d7ed1e694f7622cc083afa71090d4d5 (diff)
downloadchrome-ec-2bcf863b492fe7ed8105c853814dba6ed32ba719.tar.gz
Merge remote-tracking branch cros/main into firmware-fpmcu-bloonchipper-releasefirmware-fpmcu-bloonchipper-release
Generated by: ./util/update_release_branch.py --board bloonchipper --relevant_paths_file ./util/fingerprint-relevant-paths.txt firmware- fpmcu-bloonchipper-release Relevant changes: git log --oneline e5fb0b9ba4..28712dae9d -- board/hatch_fp board/bloonchipper common/fpsensor docs/fingerprint driver/fingerprint util/getversion.sh ded9307b79 util/getversion.sh: Fix version when not in a git repo 956055e692 board: change Google USB vendor info 71b2ef709d Update license boilerplate text in source code files 33e11afda0 Revert "fpsensor: Build fpsensor source file with C++" c8d0360723 fpsensor: Build fpsensor source file with C++ bc113abd53 fpsensor: Fix g++ compiler error 150a58a0dc fpsensor: Fix fp_set_sensor_mode return type b33b5ce85b fpsensor: Remove nested designators for C++ compatibility 2e864b2539 tree-wide: const-ify argv for console commands 56d8b360f9 test: Add test for get ikm failure when seed not set 3a3d6c3690 test: Add test for fpsensor trivial key failure 233e6bbd08 fpsensor_crypto: Abstract calls to hmac_SHA256 0a041b285b docs/fingerprint: Typo correction c03fab67e2 docs/fingerprint: Fix the path of fputils.py 0b5d4baf5a util/getversion.sh: Fix empty file list handling 6e128fe760 FPMCU dev board environment with Satlab 3eb29b6aa5 builtin: Move ssize_t to sys/types.h 345d62ebd1 docs/fingerprint: Update power numbers for latest dartmonkey release c25ffdb316 common: Conditionally support printf %l and %i modifiers 9a3c514b45 test: Add a test to check if the debugger is connected 54e603413f Move standard library tests to their own file 43fa6b4bf8 docs/fingerprint: Update power numbers for latest bloonchipper release 25536f9a84 driver/fingerprint/fpc/bep/fpc_sensor_spi.c: Format with clang-format 4face99efd driver/fingerprint/fpc/libfp/fpc_sensor_pal.h: Format with clang-format 738de2b575 trng: Rename rand to trng_rand 14b8270edd docs/fingerprint: Update dragonclaw power numbers 0b268f93d1 driver/fingerprint/fpc/libfp/fpc_private.c: Format with clang-format f80da163f2 driver/fingerprint/fpc/libfp/fpc_private.h: Format with clang-format 5e9c85c9b1 driver/fingerprint/fpc/libfp/fpc_sensor_pal.c: Format with clang-format c1f9dd3cf8 driver/fingerprint/fpc/libfp/fpc_bio_algorithm.h: Format with clang-format eb1e1bed8d driver/fingerprint/fpc/libfp/fpc1145_private.h: Format with clang-format 6e7b611821 driver/fingerprint/fpc/bep/fpc_bio_algorithm.h: Format with clang-format e0589cd5e2 driver/fingerprint/fpc/bep/fpc1035_private.h: Format with clang-format 7905e556a0 common/fpsensor/fpsensor_crypto.c: Format with clang-format 21289d170c driver/fingerprint/fpc/bep/fpc1025_private.h: Format with clang-format 98a20f937e common/fpsensor/fpsensor_state.c: Format with clang-format a2d255d8af common/fpsensor/fpsensor.c: Format with clang-format 73055eeb3f driver/fingerprint/fpc/bep/fpc_private.c: Format with clang-format 0f7b5cb509 common/fpsensor/fpsensor_private.h: Format with clang-format 1ceade6e65 driver/fingerprint/fpc/bep/fpc_private.h: Format with clang-format dc3e9008b8 board/hatch_fp/board.h: Format with clang-format dca9d74321 Revert "trng: Rename rand to trng_rand" a6b0b3554f trng: Rename rand to trng_rand 28d0b75b70 third_party/boringssl: Remove unused header BRANCH=None BUG=b:246424843 b:234181908 b:244781166 b:234181908 b:244387210 BUG=b:242720240 chromium:1098010 b:180945056 b:236025198 b:234181908 BUG=b:234181908 b:237344361 b:131913998 b:236386294 b:234143158 BUG=b:234781655 b:215613183 b:242720910 TEST=`make -j buildall` TEST=./test/run_device_tests.py --board bloonchipper Test "aes": PASSED Test "cec": PASSED Test "cortexm_fpu": PASSED Test "crc": PASSED Test "flash_physical": PASSED Test "flash_write_protect": PASSED Test "fpsensor_hw": PASSED Test "fpsensor_spi_ro": PASSED Test "fpsensor_spi_rw": PASSED Test "fpsensor_uart_ro": PASSED Test "fpsensor_uart_rw": PASSED Test "mpu_ro": PASSED Test "mpu_rw": PASSED Test "mutex": PASSED Test "pingpong": PASSED Test "printf": PASSED Test "queue": PASSED Test "rollback_region0": PASSED Test "rollback_region1": PASSED Test "rollback_entropy": PASSED Test "rtc": PASSED Test "sha256": PASSED Test "sha256_unrolled": PASSED Test "static_if": PASSED Test "stdlib": PASSED Test "system_is_locked_wp_on": PASSED Test "system_is_locked_wp_off": PASSED Test "timer_dos": PASSED Test "utils": PASSED Test "utils_str": PASSED Test "stm32f_rtc": PASSED Test "panic_data_bloonchipper_v2.0.4277": PASSED Test "panic_data_bloonchipper_v2.0.5938": PASSED Force-Relevant-Builds: all Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: I264ad0ffe7afcd507a1e483c6e934a9c4fea47c3
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r--.gitlab-ci.yml242
1 files changed, 137 insertions, 105 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index a6e7ad4d5a..b7025dc99b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,90 +1,121 @@
-# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Copyright 2021 The ChromiumOS Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
-image: sjg20/ubuntu-25feb22c
+image: jbettis/ubuntu-07sep22
# You can update that image using this repo:
# https://gitlab.com/zephyr-ec/gitlab-ci-runner/-/tree/main
-# Change pip's cache directory to be inside the project directory since we can
-# only cache local items.
-variables:
- PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
-
-# Pip's cache doesn't store the python packages
-# https://pip.pypa.io/en/stable/reference/pip_install/#caching
-#
-# If you want to also cache the installed packages, you have to install
-# them in a virtualenv and cache it as well.
-cache:
- key: ${CI_COMMIT_SHA}
- policy: pull
- paths:
- - .cache/pip
- - venv/
- - modules/
- - zephyr/
-
+# Only run on main and coverage branches
+workflow:
+ rules:
+ - if: ($CI_COMMIT_BRANCH == "main" || $CI_COMMIT_BRANCH == "coverage")
# The directory structure is:
#
-# /zephyr
-# /builds/zephyr-ec/ec EC_DIR
+# ${CI_PROJECT_DIR}
+# |_ ec_dir/ - EC repo (${EC_DIR})
+# |_ build/ - make and zmake artifacts (${BUILD_DIR})
+# |_ twister-out/ - Twister artifacts (${TWISTER_OUT_DIR})
+# |_ modules/ - Additional Zephyr modules (${MODULES_DIR})
+# | |_ cmsis/
+# | |_ hal_stm32/
+# | |_ nanopb/
+# | |_ cryptoc/
+# |_ zephyr/
+# |_ main/ - Zephyr repo (${ZEPHYR_BASE})
+#
+# On Gitlab builds, ${CI_PROJECT_DIR} is at /builds/zephyr-ec/ec. On local
+# builds, it will be /builds/0/project-0.
+
before_script:
+ - echo "CI_PROJECT_DIR is at ${CI_PROJECT_DIR}"
+ # Move freshly-checked out ec code to subdirectory
+ - cd ${CI_PROJECT_DIR}
+ - mkdir -p ec_dir
+ - find . -mindepth 1 -maxdepth 1 -name ec_dir -o -print0 | xargs -0 -I {} mv {} ec_dir
+ - export EC_DIR="${CI_PROJECT_DIR}/ec_dir"
- export MODULES_DIR="$CI_PROJECT_DIR/modules"
- - mkdir -p "${MODULES_DIR}"
- export ZEPHYR_BASE="${CI_PROJECT_DIR}/zephyr/main"
- - mkdir -p "${ZEPHYR_BASE}"
- - test -d "${ZEPHYR_BASE}/.git" || git clone --depth 1 -b main https://chromium.googlesource.com/chromiumos/third_party/zephyr "${ZEPHYR_BASE}"
- - test -d "${MODULES_DIR}/cmsis" || git clone --depth 1 -b chromeos-main https://chromium.googlesource.com/chromiumos/third_party/zephyr/cmsis "${MODULES_DIR}/cmsis"
- - test -d "${MODULES_DIR}/hal_stm32" || git clone --depth 1 -b chromeos-main https://chromium.googlesource.com/chromiumos/third_party/zephyr/hal_stm32 "${MODULES_DIR}/hal_stm32"
- - test -d "${MODULES_DIR}/nanopb" || git clone --depth 1 -b main https://chromium.googlesource.com/chromiumos/third_party/zephyr/nanopb "${MODULES_DIR}/nanopb"
- - test -d "${MODULES_DIR}/cryptoc" || git clone --depth 1 -b main https://chromium.googlesource.com/chromiumos/third_party/cryptoc "${MODULES_DIR}/cryptoc"
- - ln -s "$(pwd)" "${MODULES_DIR}/ec"
+ - git config --global --add safe.directory '*'
+ # Get Zephyr repo and modules
+ - checkout_at_date() {
+ local url="$1" ;
+ local branch="$2" ;
+ local path="$3" ;
+ local date="$4" ;
+ local retries=5 ;
+
+ while [ ${retries} -gt 0 ] ; do
+ rm -rf "${path}" ;
+ mkdir -p "${path}" ;
+ if git clone --depth 1 -b "${branch}" "${url}" "${path}"; then
+ break ;
+ else
+ echo "git clone failed will retry ${retries} times";
+ fi ;
+ retries="$(( ${retries} - 1 ))" ;
+ done ;
+ cd "${path}" ;
+ rev="$(git rev-list -n 1 --before="${date}" "${branch}")" ;
+ depth=1 ;
+ while [ -z "${rev}" ] ; do
+ depth="$(( ${depth} + 100 ))" ;
+ git fetch --depth="${depth}" ;
+ rev="$(git rev-list -n 1 --before="${date}" "${branch}")" ;
+ done ;
+ git checkout -d "${rev}" ;
+ }
+ - ec_commit_date="$(cd ${EC_DIR} ; git log -1 HEAD --format=%cd --date=iso)"
+ - checkout_at_date "https://chromium.googlesource.com/chromiumos/third_party/zephyr" "main" "${ZEPHYR_BASE}" "${ec_commit_date}"
+ - checkout_at_date "https://chromium.googlesource.com/chromiumos/third_party/zephyr/cmsis" "chromeos-main" "${MODULES_DIR}/cmsis" "${ec_commit_date}"
+ - checkout_at_date "https://chromium.googlesource.com/chromiumos/third_party/zephyr/hal_stm32" "chromeos-main" "${MODULES_DIR}/hal_stm32" "${ec_commit_date}"
+ - checkout_at_date "https://chromium.googlesource.com/chromiumos/third_party/zephyr/nanopb" "main" "${MODULES_DIR}/nanopb" "${ec_commit_date}"
+ - checkout_at_date "https://chromium.googlesource.com/chromiumos/third_party/cryptoc" "main" "${MODULES_DIR}/cryptoc" "${ec_commit_date}"
+ # Add a symlink so the ec appears in modules directory (hack to make zmake work)
+ - ln -s "${EC_DIR}" "${MODULES_DIR}/ec"
+ # Install Python and packages
- python3 -V # Print out python version for debugging
- - python3 -m pip install 'zephyr/zmake[tests]' --user
- - python3 -m pip install pyyaml packaging
- - export BUILD_DIR=build
+ - python3 -m pip install "${EC_DIR}/zephyr/zmake[tests]" --user
+ - python3 -m pip install pyyaml packaging ply psutil 'pyelftools>=0.28'
- export PATH="$PATH:$HOME/.local/bin"
- export PYTHONIOENCODING=utf-8
- - export EC_DIR=/builds/zephyr-ec/ec
-
-seed_cache:
- stage: build
- needs: []
- cache:
- key: ${CI_COMMIT_SHA}
- paths:
- - .cache/pip
- - venv/
- - modules/
- - zephyr/
- policy: push
- script:
- - ls "${MODULES_DIR}" "${ZEPHYR_BASE}"
+ # Build directory
+ - export BUILD_DIR=${EC_DIR}/build
+ - export TWISTER_OUT_DIR=${EC_DIR}/twister-out
+ # Set up Twister to use the "host" toolchain, as defined in upstream Zephyr
+ # repo, ultimately including ${ZEPHYR_BASE}/cmake/toolchain/host/generic.cmake
+ - export TOOLCHAIN_ROOT=${ZEPHYR_BASE}
+ - export ZEPHYR_TOOLCHAIN_VARIANT=host
# Users of this template must set:
# $PROJECT to the project to build. E.g., "lazor"
.build_template: &build_template
stage: build
- needs: ["seed_cache"]
+ needs: []
script:
- zmake --zephyr-base "${ZEPHYR_BASE}"
--modules-dir "${MODULES_DIR}" -l DEBUG build
-B "${BUILD_DIR}" -t ${TOOLCHAIN:-zephyr}
"${PROJECT}"
- for b in "${BUILD_DIR}/${PROJECT}"/build-* ; do
- bdir=$(basename ${b}) ;
- ninja -C ${b} ram_report >"${BUILD_DIR}/${PROJECT}/output/${bdir}_ram_report.txt" ;
- cp ${b}/ram.json "${BUILD_DIR}/${PROJECT}/output/${bdir}_ram.json" ;
- ninja -C ${b} rom_report >"${BUILD_DIR}/${PROJECT}/output/${bdir}_rom_report.txt" ;
- cp ${b}/rom.json "${BUILD_DIR}/${PROJECT}/output/${bdir}_rom.json" ;
+ bdir=$(basename ${b}) ;
+ if ninja -C ${b} ram_report >"${BUILD_DIR}/${PROJECT}/output/${bdir}_ram_report.txt" ; then
+ cp ${b}/ram.json "${BUILD_DIR}/${PROJECT}/output/${bdir}_ram.json" ;
+ else
+ echo "Ram report failed" ;
+ fi ;
+ if ninja -C ${b} rom_report >"${BUILD_DIR}/${PROJECT}/output/${bdir}_rom_report.txt" ; then
+ cp ${b}/rom.json "${BUILD_DIR}/${PROJECT}/output/${bdir}_rom.json" ;
+ else
+ echo "Rom report failed" ;
+ fi ;
done
- ls "${BUILD_DIR}/${PROJECT}" "${BUILD_DIR}/${PROJECT}/output"
artifacts:
paths:
- - build/${PROJECT}/output/*
+ - ec_dir/build/${PROJECT}/output/*
expire_in: 1 week
# Users of this template must set:
@@ -98,6 +129,7 @@ seed_cache:
stage: test
needs: ["merged_coverage", "zephyr_coverage", "twister_coverage"]
script:
+ - cd ${EC_DIR}
- zmake --zephyr-base "${ZEPHYR_BASE}"
--modules-dir "${MODULES_DIR}" -l DEBUG build --coverage
-B "${BUILD_DIR}" -t ${TOOLCHAIN:-zephyr}
@@ -145,8 +177,8 @@ seed_cache:
-s "${BUILD_DIR}/${PROJECT}/output/filtered_no_zephyr.info"
artifacts:
paths:
- - build/${PROJECT}/output/*.info
- - build/${PROJECT}/output/*_rpt
+ - ec_dir/build/${PROJECT}/output/*.info
+ - ec_dir/build/${PROJECT}/output/*_rpt
expire_in: 1 week
when: always
coverage: '/lines\.*: \d+\.\d+%/'
@@ -191,12 +223,6 @@ lazor:
PROJECT: "lazor"
<<: *build_template
-native_posix:
- variables:
- PROJECT: "posix-ec"
- TOOLCHAIN: "host"
- <<: *build_template
-
npcx7_evb:
variables:
PROJECT: "npcx7"
@@ -219,42 +245,48 @@ skyrim_coverage:
ec_coverage:
stage: test
- needs: ["seed_cache"]
+ needs: []
script:
- - make -j8 CRYPTOC_DIR="${MODULES_DIR}/cryptoc"
- HOSTGCOV='gcov'
+ - cd ${EC_DIR}
+ - make -j$(nproc) CRYPTOC_DIR="${MODULES_DIR}/cryptoc"
CROSS_COMPILE_arm=/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-
+ CROSS_COMPILE_host=/usr/bin/
test-coverage
artifacts:
paths:
- - build/coverage/coverage_rpt/*
- - build/coverage/lcov.info
+ - ec_dir/build/coverage/coverage_rpt/*
+ - ec_dir/build/coverage/lcov.info
expire_in: 1 week
coverage: '/lines\.*: \d+\.\d+%/'
zephyr_coverage:
stage: test
- needs: ["seed_cache"]
+ needs: []
script:
- - zmake --zephyr-base "${ZEPHYR_BASE}"
- --modules-dir "${MODULES_DIR}" -l DEBUG test
- --coverage --host-tests-only
+ - python3 ${EC_DIR}/twister --coverage --outdir "${TWISTER_OUT_DIR}"
+ -v -i --gcov-tool gcov -x=ALLOW_WARNINGS=ON
artifacts:
paths:
- - build/zephyr/all_tests.info
+ - ec_dir/twister-out/coverage.info
expire_in: 1 week
coverage: '/lines\.*: \d+\.\d+%/'
zephyr_boards_coverage:
stage: build
- needs: ["seed_cache"]
+ needs: []
+ parallel: 5
script:
+ - cd ${EC_DIR}
+ - projects=( $(zmake --zephyr-base "${ZEPHYR_BASE}"
+ --modules-dir "${MODULES_DIR}" list-projects |
+ split -n r/"${CI_NODE_INDEX}"/"${CI_NODE_TOTAL}") )
- zmake --zephyr-base "${ZEPHYR_BASE}"
--modules-dir "${MODULES_DIR}" -l DEBUG build
- --coverage -a
+ --coverage --delete-intermediates "${projects[@]}"
+ - mv build/zephyr/all_builds.info "build/zephyr/all_builds${CI_NODE_INDEX}.info"
artifacts:
paths:
- - build/zephyr/all_builds.info
+ - ec_dir/build/zephyr/all_builds*.info
expire_in: 1 week
coverage: '/lines\.*: \d+\.\d+%/'
@@ -264,10 +296,10 @@ merged_coverage:
stage: test
needs: ["ec_coverage", "zephyr_coverage", "zephyr_boards_coverage"]
script:
- - lcov --rc lcov_branch_coverage=1 -o build/merged.info
- -a build/coverage/lcov.info -a build/zephyr/all_tests.info
- - lcov --rc lcov_branch_coverage=1 -o build/merged_no_zephyr.info
- -r build/merged.info
+ - lcov --rc lcov_branch_coverage=1 -o ${BUILD_DIR}/merged.info
+ -a ${BUILD_DIR}/coverage/lcov.info -a "${TWISTER_OUT_DIR}/coverage.info"
+ - lcov --rc lcov_branch_coverage=1 -o ${BUILD_DIR}/merged_no_zephyr.info
+ -r ${BUILD_DIR}/merged.info
"${ZEPHYR_BASE}/**" "${MODULES_DIR}/**"
"${EC_DIR}/zephyr/drivers/**" "${EC_DIR}/zephyr/include/drivers/**"
"${EC_DIR}/zephyr/shim/chip/**" "${EC_DIR}/zephyr/shim/core/**"
@@ -276,10 +308,10 @@ merged_coverage:
"${EC_DIR}/zephyr/shim/chip/npcx/npcx_monitor/**"
"${EC_DIR}/zephyr/emul/**" "${EC_DIR}/zephyr/test/**"
"**/testsuite/**" "**/subsys/emul/**"
- - lcov --rc lcov_branch_coverage=1 -o "build/all_builds_merged.info"
- -a "build/zephyr/all_builds.info" -a build/merged.info
- - lcov --rc lcov_branch_coverage=1 -o "build/all_builds_no_zephyr.info"
- -r "build/all_builds_merged.info" "${ZEPHYR_BASE}/**"
+ - lcov --rc lcov_branch_coverage=1 -o "${BUILD_DIR}/all_builds_merged.info"
+ -a ${BUILD_DIR}/merged.info $(printf ' -a %s' ${BUILD_DIR}/zephyr/all_builds[0-9]*.info)
+ - lcov --rc lcov_branch_coverage=1 -o "${BUILD_DIR}/all_builds_no_zephyr.info"
+ -r "${BUILD_DIR}/all_builds_merged.info" "${ZEPHYR_BASE}/**"
"${ZEPHYR_BASE}/**" "${MODULES_DIR}/**"
"${EC_DIR}/zephyr/drivers/**" "${EC_DIR}/zephyr/include/drivers/**"
"${EC_DIR}/zephyr/shim/chip/**" "${EC_DIR}/zephyr/shim/core/**"
@@ -288,66 +320,66 @@ merged_coverage:
"${EC_DIR}/zephyr/shim/chip/npcx/npcx_monitor/**"
"${EC_DIR}/zephyr/emul/**" "${EC_DIR}/zephyr/test/**"
"**/testsuite/**" "**/subsys/emul/**"
- - grep "SF:" "build/zephyr/all_builds.info" | sort -u |
+ - grep -h "SF:" ${BUILD_DIR}/zephyr/all_builds[0-9]*.info | sort -u |
sed -e 's|^SF:||' | xargs lcov --rc lcov_branch_coverage=1
- -o "build/all_builds_filtered.info"
- -e "build/all_builds_no_zephyr.info"
+ -o "${BUILD_DIR}/all_builds_filtered.info"
+ -e "${BUILD_DIR}/all_builds_no_zephyr.info"
- /usr/bin/genhtml --branch-coverage -q
- -o "build/all_builds_filtered_rpt"
+ -o "${BUILD_DIR}/all_builds_filtered_rpt"
-t "All boards coverage w/o zephyr"
-p ${EC_DIR}
- -s "build/all_builds_filtered.info"
+ -s "${BUILD_DIR}/all_builds_filtered.info"
artifacts:
paths:
- - build/*.info
- - build/*_rpt
+ - ec_dir/build/*.info
+ - ec_dir/build/*_rpt
expire_in: 1 week
coverage: '/lines\.*: \d+\.\d+%/'
testall:
stage: test
- needs: ["seed_cache"]
+ needs: []
script:
- - zmake --zephyr-base "${ZEPHYR_BASE}"
- --modules-dir "${MODULES_DIR}" -l DEBUG test --host-tests-only
+ - python3 ${EC_DIR}/twister --outdir "${TWISTER_OUT_DIR}" -v -i
+ -x=ALLOW_WARNINGS=ON
twister_coverage:
stage: test
- needs: ["seed_cache"]
+ needs: []
script:
- - mkdir -p build/zephyr_codecov
+ - mkdir -p ${BUILD_DIR}/zephyr_codecov
- for commitid in $(cd "${ZEPHYR_BASE}" ; git fetch --depth=100 ; git log | awk '/GitOrigin-RevId:/ {print $2}') ; do
echo "COMMITID = ${commitid?}" ;
if wget -O /tmp/coverage.html "https://codecov.io/gh/zephyrproject-rtos/zephyr/commit/${commitid?}/build" ; then
downloadurl=$(sed -e '/download\/build/!d' -e 's|^.*href="|https://codecov.io|' -e 's|".*$||' /tmp/coverage.html | head -1) ;
echo "DOWNLOADURL = ${downloadurl?}" ;
- wget -O build/zephyr_codecov/merged.info.raw "${downloadurl?}" ;
- sed <build/zephyr_codecov/merged.info.raw >build/zephyr_codecov/merged.info
+ wget -O ${BUILD_DIR}/zephyr_codecov/merged.info.raw "${downloadurl?}" ;
+ sed <${BUILD_DIR}/zephyr_codecov/merged.info.raw >${BUILD_DIR}/zephyr_codecov/merged.info
-e '1,/<<<<<< network/d' -e '/<<<<<< EOF/,$d' ;
- sed <build/zephyr_codecov/merged.info >build/zephyr_codecov/fixed.info
+ sed <${BUILD_DIR}/zephyr_codecov/merged.info >${BUILD_DIR}/zephyr_codecov/fixed.info
-e "s|/__w/zephyr/zephyr|${ZEPHYR_BASE}|"
-e "s|/__w/zephyr/modules/hal/cmsis|${MODULES_DIR}/cmsis|"
-e "s|/__w/zephyr/modules|${MODULES_DIR}|" ;
break ;
fi ;
done
- - lcov --rc lcov_branch_coverage=1 --summary build/zephyr_codecov/fixed.info
+ - lcov --rc lcov_branch_coverage=1 --summary ${BUILD_DIR}/zephyr_codecov/fixed.info
artifacts:
paths:
- - build/zephyr_codecov/fixed.info
+ - ec_dir/build/zephyr_codecov/fixed.info
expire_in: 1 week
coverage: '/lines\.*: \d+\.\d+%/'
zmake_coverage:
stage: test
- needs: ["seed_cache"]
+ needs: []
script:
- - cd zephyr/zmake
+ - cd ${EC_DIR}/zephyr/zmake
- coverage run --source=zmake -m pytest .
- coverage report
- coverage html
artifacts:
paths:
- - zephyr/zmake/htmlcov/*
+ - ec_dir/zephyr/zmake/htmlcov/*
expire_in: 1 week
coverage: '/^TOTAL.+?(\d+\%)$/'