summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
Commit message (Collapse)AuthorAgeFilesLines
* gitlab: Update to container jbettis/ubuntu-26apr23Jeremy Bettis2023-04-261-1/+1
| | | | | | | | | | | | | | | | | The new container jbettis/ubuntu-26apr23 contains go, which is used by boringssl. BRANCH=None BUG=None TEST=Verified that you can run go in docker Change-Id: I20964f679bd38064637e1ec08f2ccb9867da77b5 Signed-off-by: Jeremy Bettis <jbettis@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4481574 Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Aaron Massey <aaronmassey@google.com> Tested-by: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Aaron Massey <aaronmassey@google.com>
* gitlab: Use repo to clone boringsslYi Chou2023-04-211-6/+27
| | | | | | | | | | | | | | Since we are clone the repo with "repo" command, we don't need to clone it again. BRANCH=None BUG=b:248508087, b:273639386 TEST=yaml validator, run repo_clone_at_data locally Change-Id: I08e8413382b8151bebecc90362fb7f31342c01e8 Signed-off-by: Yi Chou <yich@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4453523 Reviewed-by: Jeremy Bettis <jbettis@chromium.org>
* gitlab: Fix yamlJeremy Bettis2023-04-181-5/+5
| | | | | | | | | | | | | | | | Colons and \w are not allowed in yaml and must be quoted and escaped. BRANCH=None BUG=b:248508087, b:273639386 TEST=yaml validator on gitlab Change-Id: I46ecd711f17f1635e11086083a5afdae24fc295f Signed-off-by: Jeremy Bettis <jbettis@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4443072 Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Simon Glass <sjg@chromium.org> Commit-Queue: Jeremy Bettis <jbettis@chromium.org>
* Add third_party boringssl supportYi Chou2023-04-181-1/+11
| | | | | | | | | | | | | | The boringssl support can be enabled via CONFIG_BORINGSSL_CRYPTO. BUG=b:248508087, b:273639386 TEST=make runhosttests -j TEST=make buildall -j BRANCH=none Change-Id: Ibb16bd16a06b08dd86ff7a465c2b4f52994600d8 Signed-off-by: Yi Chou <yich@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4388274 Reviewed-by: Tom Hughes <tomhughes@chromium.org>
* zephyr: Add myst to gitlab buildsTristan Honscheid2023-04-181-0/+10
| | | | | | | | | | | | | | Start running builds for the myst project in Gitlab and calculating code coverage. BUG=b:274615054 BRANCH=None TEST=None Change-Id: Ie0c7262f0948d5d8cc3811930a16310fc5345196 Signed-off-by: Tristan Honscheid <honscheid@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4357300 Reviewed-by: Jeremy Bettis <jbettis@chromium.org>
* ec: Exclude a memmapped driver from board coverageJeremy Bettis2023-03-211-17/+1
| | | | | | | | | | | | | | | | | | | The file driver/tcpm/it8xxx2.c is not currently testable using our current mocking techniques, so exclude it from board specific coverage until we learn how to do so. BRANCH=None BUG=None TEST=None Change-Id: Ie09479a747a0dc4940a047638ed38e2da942437d Signed-off-by: Jeremy Bettis <jbettis@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4358753 Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org> Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* gitlab: gather coverage data for nereidPeter Marheine2023-03-201-0/+5
| | | | | | | | | | | | | | Nereid uses a different set of drivers from Nivviks, so it's useful to get coverage for both of these Nissa reference boards. BUG=b:256047664 TEST=gitlab-runner exec docker nereid_coverage BRANCH=none Change-Id: I6d2e156956ba7daabec3e23169e038d3457c0235 Signed-off-by: Peter Marheine <pmarheine@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4349463 Reviewed-by: Jeremy Bettis <jbettis@chromium.org>
* cq: Build coverage reports for all skyrim variantsJeremy Bettis2023-03-061-0/+40
| | | | | | | | | | | | | | | | | | Add the 4 skyrim variants to coverage reports. BRANCH=None BUG=None TEST=None Change-Id: I7f81a8a67b6810d709b5c21ab48e770b39679daa Signed-off-by: Jeremy Bettis <jbettis@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4310898 Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Tristan Honscheid <honscheid@google.com> Reviewed-by: Tristan Honscheid <honscheid@google.com> Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Robert Zieba <robertzieba@google.com> Tested-by: Jeremy Bettis <jbettis@chromium.org>
* zephyr: Add geralt to gitlab buildsTristan Honscheid2023-02-151-0/+10
| | | | | | | | | | | | | | | Start running builds for the geralt project in Gitlab and calculating code coverage. BUG=b:268215825 BRANCH=None TEST=None Change-Id: I699cf95e2ebe7e82b955c293dfc295705e2624d5 Signed-off-by: Tristan Honscheid <honscheid@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4250848 Reviewed-by: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Yuval Peress <peress@google.com>
* gitlab: Don't exclude board specific code from covJeremy Bettis2023-02-151-2/+2
| | | | | | | | | | | | | | | | | | Since we now know how to test board specific code, stop excluding it from the per-board coverage reports. BRANCH=None BUG=b:268490916 TEST=None Change-Id: I6afd6044a2074e12fe60e239dbf4d3982668b101 Signed-off-by: Jeremy Bettis <jbettis@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4257725 Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Abe Levkoy <alevkoy@chromium.org> Reviewed-by: Abe Levkoy <alevkoy@chromium.org>
* gitlab: Disable upstream coverage reportsJeremy Bettis2023-01-111-43/+47
| | | | | | | | | | | | | | | | | | | | | | | | Downloading the zephyr coverage data from codecov.io isn't working. Disable twister_coverage job and comment out the steps that depend on it. BRANCH=None BUG=None TEST=Validated yaml at https://gitlab.com/zephyr-ec/ec/-/ci/editor?branch_name=main&tab=2 Change-Id: I0c70b8124de073c9570c0e94a1758d2f2103c0a9 Signed-off-by: Jeremy Bettis <jbettis@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4156999 Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Simon Glass <sjg@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Tristan Honscheid <honscheid@google.com> Tested-by: Jeremy Bettis <jbettis@chromium.org> Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Yuval Peress <peress@google.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* ec: Track coverage for rex.Jeremy Bettis2022-11-091-0/+10
| | | | | | | | | | | | | | BRANCH=None BUG=None TEST=None Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: I67a103199dbb07178c3f263e44eb6aeb7eb2af16 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4012963 Tested-by: Jeremy Bettis <jbettis@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Abe Levkoy <alevkoy@chromium.org> Commit-Queue: Jeremy Bettis <jbettis@chromium.org>
* gitlab: Remove twister workaroundsJeremy Bettis2022-11-081-5/+1
| | | | | | | | | | | | | | | | | | Twister should use toolchain host and set the toolchain dir to zephyr by default in gitlab now. BRANCH=None BUG=None TEST=Ran gitlab runner locally on zephyr_coverage and zephyr_boards_coverage Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: I8b8d14f21722e42bc903303b98cf185ea68b198e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4011463 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Tested-by: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Tristan Honscheid <honscheid@google.com> Commit-Queue: Jeremy Bettis <jbettis@chromium.org>
* gitlab: Switch to new docker image, and remove pipJeremy Bettis2022-11-071-2/+1
| | | | | | | | | | | | | | | | | | | Switch to a new docker image that includes g++-multilib and contains the pip packages pre-installed. BRANCH=None BUG=b:243712810 TEST=Ran zephyr-coverage step locally Change-Id: Ib1289ba356641729deb41970952f46294a33edf2 Signed-off-by: Jeremy Bettis <jbettis@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4010000 Reviewed-by: Yuval Peress <peress@google.com> Commit-Queue: Yuval Peress <peress@google.com> Tested-by: Jeremy Bettis <jbettis@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Jeremy Bettis <jbettis@chromium.org>
* zephyr: rename projects folder to programKeith Short2022-11-041-2/+2
| | | | | | | | | | | | | | | | Renme the projects folder to program for consistency with the name scheme used by the boxster configuration. BUG=b:254097139 BRANCH=none TEST=zmake compare-builds -a TEST=twister Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: Ib56a57f1e5942e6dd0460e3be81722896eed72af Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3968444 Reviewed-by: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Jeremy Bettis <jbettis@chromium.org>
* gitlab: Fix a typo in lcov commandJeremy Bettis2022-10-191-1/+1
| | | | | | | | | | | | | | | | | | There was a "" that should have been " BRANCH=None BUG=None TEST=None Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: I54f056b3798b1ee8eec937a9eab3145bdbeaff52 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3966677 Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Aaron Massey <aaronmassey@google.com> Reviewed-by: Aaron Massey <aaronmassey@google.com> Reviewed-by: Yuval Peress <peress@google.com> Auto-Submit: Jeremy Bettis <jbettis@chromium.org>
* gitlab: Fix yaml errorJeremy Bettis2022-10-191-1/+1
| | | | | | | | | | | | | | | | Fix yaml formatting BRANCH=None BUG=None TEST=yaml syntax checker Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: I304499f88c7198c28c4f193be04a3e5d6650e123 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3965506 Commit-Queue: Yuval Peress <peress@google.com> Reviewed-by: Yuval Peress <peress@google.com> Tested-by: Jeremy Bettis <jbettis@chromium.org> Auto-Submit: Jeremy Bettis <jbettis@chromium.org>
* gitlab: Align merged_coverage with CQJeremy Bettis2022-10-191-37/+33
| | | | | | | | | | | | | | | | | | | The sed + xargs is overflowing the command line length and xargs is running two commands, therefore overwriting the output. Change commands to match what firmware_builder.py does. BRANCH=None BUG=None TEST=Ran in docker. New all_builds_filtered.info is 44.8% Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: Ic608dd6da0fd4932ad238c1f6408f7a6e121f3b3 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3964535 Commit-Queue: Tomasz Michalec <tmichalec@google.com> Reviewed-by: Tomasz Michalec <tmichalec@google.com> Tested-by: Jeremy Bettis <jbettis@chromium.org> Auto-Submit: Jeremy Bettis <jbettis@chromium.org>
* ec: Replace dir in path with *Jeremy Bettis2022-10-141-2/+2
| | | | | | | | | | | | | | | BRANCH=None BUG=b:253647573 TEST=None Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: I1f91b8123a2e44ea5a137f9644645ca1b4494aaa Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3956204 Reviewed-by: Bobby Casey <bobbycasey@google.com> Commit-Queue: Bobby Casey <bobbycasey@google.com> Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org>
* cq: Expand coverage exclusionsJeremy Bettis2022-10-141-6/+42
| | | | | | | | | | | | | | | | | | | | | There were some test files that were not getting excluded by the test filter. Most importantly, some tests are mixed into the same directories, but named _test.c. BRANCH=None BUG=None TEST=./firmware_builder.py --code-coverage test lcov --list-full-path --list build/zephyr/lcov_no_tests.info | \ sed -e 's|/mnt/host/source/src/||' | egrep 'mock|emul|test|host' Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: I4d8335c4185ba373f93fbfe6bf2ed99aaa7a0ba0 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3957418 Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Yuval Peress <peress@google.com> Tested-by: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Yuval Peress <peress@google.com>
* ec: New tool to merge lcov filesJeremy Bettis2022-10-111-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added new tool to merge lcov files using one file as the template and including only lines that are present in the template file. The name is because you use the template file like a "stencil" and the matching coverage shows through. Not great, but it's not really a "set intersect" or a "merge" either. Switch firmware_builder.py and gitlab to use the new tool in place of the filename filtering. See https://jbettis.users.x20web.corp.google.com/www/herobrine_rpt/index.html for updated coverage output. BRANCH=None BUG=None TEST=Ran firmware_builder.py locally. Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: I0e9672c346971b0df4602b0adce27fea6367c6b4 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3943261 Reviewed-by: Abe Levkoy <alevkoy@chromium.org> Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Abe Levkoy <alevkoy@chromium.org>
* cq: Add coverage builds for cq and gitlabJeremy Bettis2022-10-051-0/+5
| | | | | | | | | | | | | | | | | | | Add krabby, nivviks, and skyrim specific coverage builds to cq and gitlab. In cq this is just lcov commands, no new builds will actually be run. BRANCH=None BUG=None TEST=None Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: I59120b9a2b7cff7fbe5f7d24c92a4c877ccd79b8 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3936944 Tested-by: Jeremy Bettis <jbettis@chromium.org> Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Simon Glass <sjg@chromium.org> Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Simon Glass <sjg@chromium.org>
* gitlab: Fix git clone retriesJeremy Bettis2022-09-211-2/+3
| | | | | | | | | | | | | | | | | The retries weren't actually working because $? was getting set by the echo call. BRANCH=None BUG=b:244590155 TEST=Ran sh commands manually Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: I3b8a7133e260f052df00950a139aee4613fa102c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3908158 Reviewed-by: Al Semjonovs <asemjonovs@google.com> Commit-Queue: Al Semjonovs <asemjonovs@google.com> Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org>
* gitlab: Override host compiler for makeJeremy Bettis2022-09-191-1/+2
| | | | | | | | | | | | | | | | For the legacy ec build, set the host compiler prefix also. BRANCH=None BUG=b:246424843 TEST=make test-coverage # in gitlab docker Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: Ie3fc01fe055152e0150ad2180b648963d77c1ab0 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3905359 Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Al Semjonovs <asemjonovs@google.com> Reviewed-by: Al Semjonovs <asemjonovs@google.com>
* gitlab: Shard zephyr_boards_coverage job into 5Jeremy Bettis2022-09-151-4/+9
| | | | | | | | | | | | | | | | | | The zephyr_boards_coverage job sometimes times out after 2 hours. While I think I fixed the problem with the slow runner, splitting this into shards is also a good idea. BRANCH=None BUG=b:244590155 TEST=https://gitlab.com/zephyr-ec/ec/-/pipelines/640483665 Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: If37d2ddcbd64c4f2b7e7ab240e75218ed24aece0 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3896634 Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Abe Levkoy <alevkoy@chromium.org> Commit-Queue: Abe Levkoy <alevkoy@chromium.org>
* gitlab: Remove cache and checkout bydateJeremy Bettis2022-09-141-54/+40
| | | | | | | | | | | | | | | | | | | | | | | Remove the cache, since it only works with shared runners, but keep the needs tags or else Gitlab will run all the build stage jobs before starting any of the test stage jobs, and that is slower. Get the timestamp of the latest commit, and use that timestamp to checkout the corresponding cls in the zephyr and ancillary repos. Retry git clone calls because they actually fail pretty often. BRANCH=None BUG=b:244590155 TEST=Pushed to gitlab coverage branch https://gitlab.com/zephyr-ec/ec/-/pipelines/640483665 Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: Ie66d5c97349ef17eba302387c3cd525dfbaa82ba Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3894402 Reviewed-by: Tristan Honscheid <honscheid@google.com> Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org>
* Update license boilerplate text in source code filesMike Frysinger2022-09-121-1/+1
| | | | | | | | | | | | | | | Normally we don't do this, but enough changes have accumulated that we're doing a tree-wide one-off update of the name & style. BRANCH=none BUG=chromium:1098010 TEST=`repo upload` works Change-Id: Icd3a1723c20595356af83d190b2c6a9078b3013b Signed-off-by: Mike Frysinger <vapier@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3891203 Reviewed-by: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* gitlab: Allow the ram/rom reports to failJeremy Bettis2022-09-091-5/+11
| | | | | | | | | | | | | | | | | | | pyelftools isn't working with the new GCC in SDK 0.15, so just allow it to fail, since it is informational only and we still have reports working in the CQ. BRANCH=None BUG=None TEST=None Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: I37e1e893d007e705b0d8dfda85c09d1978cd5dc9 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3886889 Commit-Queue: Tristan Honscheid <honscheid@google.com> Tested-by: Jeremy Bettis <jbettis@chromium.org> Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Tristan Honscheid <honscheid@google.com> Commit-Queue: Jeremy Bettis <jbettis@chromium.org>
* gitlab: Update pyelftoolsJeremy Bettis2022-09-091-1/+1
| | | | | | | | | | | | | | | | | We had pyelftools 0.26 installed, and need 0.28. Probably this should be in the DockerFile, but this is faster. BRANCH=None BUG=None TEST=Ran pip in docker Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: Iaa9ddd4dcddf696eb4d59b8a6cffb4e33e1c1ba2 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3885228 Tested-by: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Tomasz Michalec <tmichalec@google.com> Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Tomasz Michalec <tmichalec@google.com>
* gitlab: Switch to new container with sdk 0.15Jeremy Bettis2022-09-081-1/+1
| | | | | | | | | | | | | | | | | Zephyr requires the sdk 0.15 or newer now. BRANCH=None BUG=None TEST=Pushed to gitlab https://gitlab.com/zephyr-ec/ec/-/pipelines/633794126 Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: Id802efcdeb9f391cd02f93aec923fd6c5764e854 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3880533 Commit-Queue: Aaron Massey <aaronmassey@google.com> Reviewed-by: Aaron Massey <aaronmassey@google.com> Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org>
* gitlab: Only run CI in main and coverage branchesJeremy Bettis2022-09-021-0/+5
| | | | | | | | | | | | | | | | | | | | This workflow rule will prevent this CI config from running unless the branch name is "main" or "coverage". It will have to be cherry-picked into all the other branches to make them stop running sadly. BRANCH=None BUG=b:244766499 TEST=Used yaml validator at https://gitlab.com/zephyr-ec/ec/-/ci/editor?branch_name=main&tab=2 Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: I536de3e3fdbca1c48505e61de5737f865bd0e233 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3872545 Reviewed-by: Simon Glass <sjg@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Simon Glass <sjg@chromium.org> Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Jeremy Bettis <jbettis@chromium.org>
* twister: Use vpythonJeremy Bettis2022-09-021-2/+2
| | | | | | | | | | | | | | | | Switch twister wrapper to use vpython to force it to use python 3.8 with the right modules. BRANCH=None BUG=b:244333401 TEST=./twister Change-Id: I4d020f4082b7c6e987bc4aa3aee6335760a27efa Signed-off-by: Jeremy Bettis <jbettis@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3867800 Reviewed-by: Tristan Honscheid <honscheid@google.com> Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org>
* gitlab: Fix some path problems in gitlab ciJeremy Bettis2022-09-021-7/+6
| | | | | | | | | | | | | | | | | | Moving the EC dir wasn't moving the dot files, also deleting the files from the cache defeats the purpose of the cache. Corrected both problems. BRANCH=None BUG=None TEST=Pushed to coverage branch in gitlab. Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: I2920ec27eafdc76248e9253724b29a198262865a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3869307 Reviewed-by: Tristan Honscheid <honscheid@google.com> Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org>
* gitlab: Support running Twister in Gitlab CITristan Honscheid2022-08-261-41/+78
| | | | | | | | | | | | | | | | | | | | | | | This CL aims to get Twister working in the Gitlab CI using a GCC toolchain. It also includes some cleanup of the directory structure and paths in the CI build. The previous approach of checking out zephyr and all zephyr modules as subdirectories under the EC checkout breaks the way Twister searches for tests, as all upstream Zephyr tests get included when we search the EC dir. A detailed layout of the new directory structure is included as a comment in the YAML file. Also bumps up the timeout on several driver tests as they were timing out in CI. BRANCH=None BUG=None TEST=gitlab-runner exec ... {ec_coverage, zephyr_coverage, zephyr_boards_coverage} Signed-off-by: Tristan Honscheid <honscheid@google.com> Change-Id: I80697bd02be363d8462f48abc4b6f0a2394a8926 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3846994 Reviewed-by: Jeremy Bettis <jbettis@chromium.org>
* zephyr: Run the upstream shell tests alsoJeremy Bettis2022-08-161-1/+1
| | | | | | | | | | | | | | | | | | | When running twister, run both the EC tests and the zephyr shell tests by default. This should provide for more consistent coverage of the shell code. BRANCH=None BUG=b:242108457 TEST=./twister Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: I25078ee0a375de18afaab6a3bfc1ffc8b47b6b3a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3829060 Reviewed-by: Tristan Honscheid <honscheid@google.com> Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Tristan Honscheid <honscheid@google.com> Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org>
* gitlab: Adjust twister argsJeremy Bettis2022-08-121-3/+3
| | | | | | | | | | | | | | | | | | | | Add -p unit_testing to coverage run of twister in case we get some unit tests. Remove --coverage and platforms from testall stage. Add -v -i to both twister calls so that we get better logs. BRANCH=None BUG=b:242067297 TEST=Ran cmds in docker Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: I2013105222b13cbfae75af355ee6d69d353d85b8 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3823905 Reviewed-by: Tristan Honscheid <honscheid@google.com> Tested-by: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Jeremy Bettis <jbettis@chromium.org>
* gitlab: Add plyJeremy Bettis2022-08-111-1/+1
| | | | | | | | | | | | | | | | Install ply python module. BRANCH=None BUG=b:242067381 TEST=Ran twister in docker Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: I71571cef7679852f28b5ca5a598b96d6f11de2e7 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3823904 Reviewed-by: Tristan Honscheid <honscheid@google.com> Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org>
* ec: Set HOSTGCOV correctly for each compilerJeremy Bettis2022-08-081-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | Set the host gcov correctly, if we are using gcc, then use gcov, otherwise use llvm-cov for clang. Remove the workaround in .gitlab-ci.yml BRANCH=None BUG=None TEST=make clobber && make TEST_FLAG=TEST_COVERAGE=y \ build/coverage/usb_pe_drp_noextended.info V=1 CC=clang TEST=make clobber && make TEST_FLAG=TEST_COVERAGE=y \ build/coverage/usb_pe_drp_noextended.info V=1 TEST=(in docker) make -j8 CRYPTOC_DIR="${MODULES_DIR}/cryptoc" \ CROSS_COMPILE_arm=/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi- \ TEST_FLAG=TEST_COVERAGE=y build/coverage/usb_pe_drp_noextended.info V=1 Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: Ic97d425e35e25bea07e29c4736730fd21dd72f5b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3818125 Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Aaron Massey <aaronmassey@google.com> Tested-by: Jeremy Bettis <jbettis@chromium.org>
* zephyr: tests: remove BUILD.py for Zephyr EC unit testsTristan Honscheid2022-08-051-7/+6
| | | | | | | | | | | | | | | | | | | | | | | We have completed transitioning tests to Twister and verified parity in coverage reports between this and the previous version. This CL removes the BUILD.py files from our tests that declare the zmake projects and removes the call to `zmake -D test -a --no-rebuild` from `zephyr/firmware-builder.py` The `EC_ZEPHYR_MERGED` metric is now derived from Twister's coverage data instead. Made corresponding changes to `.gitlab-ci.yml` This CL was tested by comparing the total coverage and list of covered files before and after the change. BUG=b:240093007 BRANCH=None TEST=zephyr/firmware-builder.py --code-coverage {build|test|bundle} Signed-off-by: Tristan Honscheid <honscheid@google.com> Change-Id: I865a22a44f56760790444499c7588f7aec299374 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3811956 Reviewed-by: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Yuval Peress <peress@google.com>
* gitlab: Remove native_posix buildJeremy Bettis2022-06-301-6/+0
| | | | | | | | | | | | | | | | | | The posix-ec project was renamed, and it was really only a sample, so just remove it from here. The target zephyr_boards_coverage will still build it, so we're not really losing anything by removing it. BUG=b:237431976 BRANCH=none TEST=None Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: If7d006885b38fec97bd234bcb4b250bf74e4c6c4 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3736985 Tested-by: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Commit-Queue: Jack Rosenthal <jrosenth@chromium.org> Auto-Submit: Jeremy Bettis <jbettis@chromium.org>
* zmake: Add flags to build boards and delete tmpsJeremy Bettis2022-06-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | The gitlab builder is running out of disk space. Add flags to build fewer things, and to delete the intermediate files and only leave the output files. Before this change zmake build of all boards took 2.1G, and 81M afterwards. BRANCH=None BUG=None TEST=make clobber TEST=zmake build --boards-only -c --delete-intermediates TEST=du -s -h build Change-Id: I507abff512ca1348681a1fd7431d5267efaf5d65 Signed-off-by: Jeremy Bettis <jbettis@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3726959 Commit-Queue: Jack Rosenthal <jrosenth@chromium.org> Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* gitlab: Remove zmake -j8 argJeremy Bettis2022-05-181-4/+4
| | | | | | | | | | | | | | | | Now that zmake defaults to the physical number of cpus, don't use -j8. BRANCH=None BUG=None TEST=git cherrypick to gitlab Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: If4049ed7a015680b35127b92c2fd49070c648d31 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3652378 Reviewed-by: Yuval Peress <peress@google.com> Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Yuval Peress <peress@google.com>
* gitlab: Add all boards report to merged_coverageJeremy Bettis2022-05-181-3/+39
| | | | | | | | | | | | | | | | | | | Add a new coverage report to the merged_coverage job, which is all zephyr boards merged with EC and Zephyr tests (but not twister). This will be a more useful report for tracking coverage increases or regressions as it will include all boards not just herobrine. BRANCH=None BUG=None TEST=Pushed to gitlab coverage branch Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: Id9c879ade22f7a53973bcea90b604250db92ddd4 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3652377 Reviewed-by: Yuval Peress <peress@google.com> Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Yuval Peress <peress@google.com>
* gitlab: Use the same filter in coverage_templateJeremy Bettis2022-05-061-5/+21
| | | | | | | | | | | | | | | | | | | | We were filtering out some directories that are impossible to test with coverage right now from the tests, but not from the boards. Change filters to match in all 3 places. BRANCH=None BUG=None TEST=None Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: I17ff82e277069ecddb7c61b61e9ba089a3c54cc9 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3632182 Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Yuval Peress <peress@google.com> Commit-Queue: Yuval Peress <peress@google.com> Tested-by: Jeremy Bettis <jbettis@chromium.org>
* zephyr: remove Volteer boardDawid Niedzwiecki2022-03-211-5/+0
| | | | | | | | | | | | | | | | Volteer was the first reference board with EC based on Zephyr. At this stage of migrating to Zephyr, the support for Volteer can be dropped, so remove volteer project. BUG=b:218888909 TEST=zmake testall BRANCH=main Signed-off-by: Dawid Niedzwiecki <dn@semihalf.com> Change-Id: Ie78cc69e478267f45446b9d11fc2f433136ebfe0 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3521781 Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Dawid Niedzwiecki <dawidn@google.com>
* zmake: Don't exclude anything from coverageJeremy Bettis2022-02-281-2/+7
| | | | | | | | | | | | | | | | | | | | In zmake, don't remove any directories from the coverage reports. In gitlab, add the exclusions back in so that we get the same finished html report that we got before. BRANCH=None BUG=b:156895937 TEST=Ran firmware_builder.py, verified zephyr/test & zephyr/emul Ran .gitlab-ci.yml commands for herobrine and verified that build/herobrine/output/filtered_no_zephyr.info is unchanged. Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: Ie8fd1e787d8bb6e745f89d773113cccb6c335009 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3491416 Tested-by: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Aaron Massey <aaronmassey@google.com> Commit-Queue: Jeremy Bettis <jbettis@chromium.org>
* gitlab: Move to the latest docker imageSimon Glass2022-02-251-1/+1
| | | | | | | | | | | | | | This enables support for testing U-Boot vboot. BUG=b:209799513 BRANCH=none TEST=passes on gitlab: https://gitlab.com/zephyr-ec/ec/-/pipelines/479753623 Signed-off-by: Simon Glass <sjg@chromium.org> Change-Id: I4a94ec7f08236a85b544f7eb73ce277993670af8 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3491075 Reviewed-by: Jeremy Bettis <jbettis@chromium.org>
* gitlab: Fix zmake unit test coverage regexJeremy Bettis2022-02-251-1/+1
| | | | | | | | | | | | | | | | | | The regex wasn't matching the TOTAL line from the coverage report. Change to the recommended regex from https://docs.gitlab.com/ee/ci/pipelines/settings.html#test-coverage-examples BRANCH=None BUG=b:219062927 TEST=None Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: Ia867148e95f0aa5de3a7e182a13cce952f4b114f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3489261 Reviewed-by: Abe Levkoy <alevkoy@chromium.org> Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org> Auto-Submit: Jeremy Bettis <jbettis@chromium.org>
* gitlab: Use zmake -j, don't build boards in testJeremy Bettis2022-02-241-5/+5
| | | | | | | | | | | | | | | | Change all zmake invocations to use -j8, since it defaults to -j1, and change the testall step to only build and run the tests. BRANCH=None BUG=b:217788621 TEST=None Change-Id: Id8892ea5e37796da048573509cc17553dd8d0921 Signed-off-by: Jeremy Bettis <jbettis@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3488788 Tested-by: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Commit-Queue: Jeremy Bettis <jbettis@chromium.org>
* gitlab: Build zmake tests with coverageJeremy Bettis2022-02-241-1/+15
| | | | | | | | | | | | | | | | Add new commands to run zmake unit tests with coverage enabled. BRANCH=None BUG=b:219062927 TEST=Ran commands in docker Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: Ie7e8c0a33df8e92ff946e87bb787dd4a0aced2fa Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3472820 Reviewed-by: Simon Glass <sjg@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Commit-Queue: Jeremy Bettis <jbettis@chromium.org>