Commit Graph

843 Commits

Author SHA1 Message Date
Fu Hanxi
fba96d58c2
ci: dynamic pipeline
build:
- upgrade idf-build-apps to 2.x
- unify get_pytest_apps and get_cmake_apps to get_all_apps
	- returns (test_apps, non_test_apps) tuple
- add tests for the new get_all_apps

assign:
- generate build report
- generate target test pipeline based on the build report

target test:
- download artifacts from minio server
- users can use `pytest --pipeline-id xxxxx` to download and flash
the binaries from the artifacts

.post:
- generate target test reports
2024-01-10 15:37:34 +01:00
Fu Hanxi
114af706bb
ci(wifi): migrate from .gitlab/ci/rules.yml to .build-test-rules.yml 2024-01-10 15:31:21 +01:00
Fu Hanxi
bb375ee79a
ci(ethernet): migrate from .gitlab/ci/rules.yml to .build-test-rules.yml 2024-01-10 15:31:11 +01:00
Fu Hanxi
83d4e8c6ab
ci(flash_encryption_wifi_high_traffic): migrate from .gitlab/ci/rules.yml to .build-test-rules.yml 2024-01-10 15:30:53 +01:00
Fu Hanxi
6f6092ed8d
ci(sdio): migrate from .gitlab/ci/rules.yml to .build-test-rules.yml 2024-01-10 15:30:52 +01:00
Fu Hanxi
d44f236f7b
ci(usb): migrate from .gitlab/ci/rules.yml to .build-test-rules.yml 2024-01-10 15:29:44 +01:00
Fu Hanxi
ed1c892a8a
ci(adc): migrate from .gitlab/ci/rules.yml to .build-test-rules.yml 2024-01-10 15:29:44 +01:00
Fu Hanxi
9a9b1cd11f
ci(ecdsa): migrate from .gitlab/ci/rules.yml to .build-test-rules.yml 2024-01-10 15:29:43 +01:00
Fu Hanxi
7138b977f8
ci(nvs_encr_hmac): migrate from .gitlab/ci/rules.yml to .build-test-rules.yml 2024-01-10 15:29:43 +01:00
Fu Hanxi
3645c041e2
ci(flash_multi): migrate from .gitlab/ci/rules.yml to .build-test-rules.yml 2024-01-10 15:29:43 +01:00
Fu Hanxi
b6a93bf81e
ci(i154): migrate from .gitlab/ci/rules.yml to .build-test-rules.yml 2024-01-10 15:29:42 +01:00
Fu Hanxi
b709c880dd
ci: add linter for gitlab yaml files
- remove duplicated artifacts default values
- migrate check_artifacts_expire_time.py
- migrate check_rules_yml.py
2024-01-10 15:29:42 +01:00
Fu Hanxi
7962746c65
ci: remove ip101 jobs and twai_std jobs 2024-01-10 10:10:53 +01:00
Kevin (Lao Kaiyao)
1e6a76419b Merge branch 'feature/support_hello_world_on_esp32c5' into 'master'
feat(esp32c5): support hello world on esp32c5 beta3 (stage 8/8)

See merge request espressif/esp-idf!27870
2024-01-09 18:41:43 +08:00
laokaiyao
d0a8f3e5c4 feat(esp32c5): support esptool on esp32c5 beta3 2024-01-09 13:11:11 +08:00
Fu Hanxi
c633ba167d
ci: fix code_quality_check 2024-01-08 10:13:08 +01:00
wanlei
8536ffb490 fix(twai): enable twai interactive test for all targets on new std runner 2024-01-05 15:22:09 +08:00
Armando
1ab742b3c3 ci(p4): enable esp32p4 target test 2024-01-04 09:34:55 +08:00
Xu Si Yu
13fa6c7af2 feat(ieee802154): Add ieee802154 CLI example 2024-01-03 19:05:16 +08:00
Frantisek Hrbata
0f898539a0 ci: add sbom validation using pre-commit's post-commit stage
With 09ba070b7e ("fix: allow to use older pre-commit hook version")
and b93cc581a5 ("fix: set default pre-commit hook stages to pre-commit..")
we set the default pre-commit hook stage to commit/pre-commit, which avoids
running the pre-commit plugins/hooks multiple times for different stages.
Unfortunately this also affects "pre-commit run" used in CI and
now it runs only plugins which are by default using the
commit/pre-commit stage. Meaning the sbom validation, which uses
post-commit, is not run at all. This adds an explicit pre-commit command
for validate-sbom-manifest plugin, which needs to be started in
post-commit stage.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-01-02 10:47:11 +01:00
Ivan Grokhotkov
763ba14885
feat(docs): use a faster fork of breathe-doc/breathe
See https://github.com/breathe-doc/breathe/discussions/962
2023-12-21 16:33:20 +01:00
Chen Yudong
77597f7ac8 ci: do not upload caches for dev branches by default 2023-12-19 20:36:55 +08:00
Chen Yudong
ff015d1872 ci: differnet cache key for different idf ver
update caches on release tags and nightly schedules
2023-12-19 16:56:53 +08:00
Marius Vikhammer
852fbce397 ci(qemu): disable WDT when running qemu tests
WDTs are flakey in QEMU, disable while testing for now to
stop spurious test failures.
2023-12-13 18:47:26 +08:00
Anton Maklakov
9f0da8b6ed Merge branch 'ci/upload_pipeline_env_fil_into_minio' into 'master'
ci: Upload a report about modified files and components to s3 bucket

See merge request espressif/esp-idf!27758
2023-12-08 12:35:00 +08:00
Aleksei Apaseev
e97826e877 ci: Upload report about modified files and components to s3 bucket 2023-12-08 10:49:17 +08:00
Aleksei Apaseev
0219e8e85d fix(idf_tools): Opt for the recommended tool in tools.json rather than the supported one 2023-12-08 10:14:19 +08:00
Fu Hanxi
d3858b493d
ci: run pytest_build_system_win only with labels and schedule pipeline 2023-12-07 11:15:55 +01:00
Frantisek Hrbata
5df4decf07 feat: use esp-idf-sbom pre-commit plugin
Currently sbom manifest is checked only in .gitmodules and
this check is done in pre-commit and also in CI. Meaning it's running
three times(pre-commit before push if user has it enabled, in CI
as there is the pre-commit run again and again with test in CI). Since
esp-idf-sbom contains a full manifest validation support and pre-commit
plugin for it, let's use it. This removes all the current sbom testing
and replaces it with a signle pre-commit plugin which validates all
manifests files(sbom.yml, idf_component.yml, .gitmodules and also
referenced manifests) in repository. Note that this checks all
manifests, not only ones which were modified. The check is reasonably
fast though, so it should not cause any problem. The reason for
validating all manifest files is that we want to make sure that the sbom
information in .gitmodules is updated too and that the hash
recorded in .gitmodules is up-to-date. Meaning submodule update
would not trigger this plugin, because no manifest was changed.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-12-06 10:08:54 +01:00
Ivan Grokhotkov
178b27ed80
ci(qemu): use qemu from tools.json, don't require a special image 2023-12-03 07:45:19 +01:00
Ivan Grokhotkov
71153c7dbb
feat(tools): add 'idf.py qemu' extension
This extension allows running programs in QEMU similar to running
them on a real chip:

- 'idf.py qemu' — builds and runs the program in QEMU. User gets
  a QEMU instance launched, and can work with it as a normal QEMU
  instance.
- 'idf.py qemu monitor' — same, but QEMU is launched in the
  background, and idf_monitor runs in the foreground, showing QEMU
  output. Compared to only running 'idf.py qemu' this enables, for
  example, automatic backtrace decoding.
- 'idf.py qemu gdb' — launches QEMU in the background and opens an
  interactive GDB prompt, connecting it to QEMU.
- 'idf.py qemu --gdb monitor' and 'idf.py gdb' in another shell:
  launches QEMU in the background, keeps it suspended until GDB is
  connected, and opens idf_monitor. GDB can be used in another shell
  to debug the application.
2023-12-03 07:45:19 +01:00
Roland Dobai
9c4b657ac3 Merge branch 'feature/add_windows_pytest' into 'master'
Tools: Add pytest build system on Windows runner

Closes IDF-7691, IDF-8214, and IDF-1193

See merge request espressif/esp-idf!26603
2023-12-01 16:40:13 +08:00
C.S.M
2d4a9240dc Merge branch 'feat/add_example_usj' into 'master'
change(usb_serial_jtag): Add example for usb serial jtag echo

Closes IDFGH-11503, IDFGH-11493, and IDFGH-11478

See merge request espressif/esp-idf!27366
2023-12-01 14:39:14 +08:00
Liu Linyan
9879615053 Merge branch 'update/ble_mesh_put_lib_in_submodule' into 'master'
fix(ble_mesh): Put Mesh 1.1 lib files in submodule

Closes IDFCI-1860

See merge request espressif/esp-idf!26987
2023-12-01 09:56:19 +08:00
Roland Dobai
bc1d74bb88 fix(ci): Remove unittest-xml-reporting dependency from host tests 2023-11-30 14:03:41 +01:00
Liu Linyan
94d3f5037b fix(ble_mesh): Use submodule for mesh 1.1 lib files 2023-11-30 16:56:58 +08:00
Cao Sen Miao
2a0debde3c change(usb_serial_jtag): Add a usb_serial_jtag echo example for how to use usb_serial_jtag APIs,
Closes https://github.com/espressif/esp-idf/issues/12620,
Closes https://github.com/espressif/esp-idf/issues/12605
2023-11-30 14:38:06 +08:00
Armando (Dou Yiwen)
d36fe73960 Merge branch 'test/improve_sdmmc_tests' into 'master'
sd: improve tests and added on CI

See merge request espressif/esp-idf!27384
2023-11-30 10:21:11 +08:00
Marek Fiala
0a3b57e48a feat(tools): Add pytest build system on Windows runner 2023-11-29 23:10:37 +01:00
Tomas Sebestik
0b3ec55183 Merge branch 'remove/migrate-danger-gitlab' into 'master'
Remove/migrate danger gitlab

Closes RDT-523

See merge request espressif/esp-idf!27379
2023-11-29 15:14:23 +08:00
Armando
9b0d75f2df refactor(sdmmc): added component pytest cases and enabled them on CI 2023-11-29 12:13:03 +08:00
Fu Hanxi
09eec2ba47 Merge branch 'ci/fix_upload_failed_job_log_script' into 'master'
ci: fix upload failed job log script

See merge request espressif/esp-idf!27357
2023-11-27 18:32:45 +08:00
Tomas Sebestik
742ec21371
ci(danger-gitlab): migrate code; Danger Gitlab from Shared-CI-Danger
- set only brew runners to run danger, tag "dangerjs"
2023-11-27 09:36:34 +01:00
Roland Dobai
cad04baba1 feat(ci): Merge tool test jobs and produce jUnit reports 2023-11-27 09:11:35 +01:00
Chen Yu Dong
ab03c2ea13 Merge branch 'ci/fix_fetch_git_diff_on_schedules' into 'master'
ci: fix fetch git diff from pipeline schedules

See merge request espressif/esp-idf!27263
2023-11-24 21:15:41 +08:00
Fu Hanxi
4ef1a8cc3a
ci: fix upload failed job log script 2023-11-23 08:03:42 +01:00
Armando (Dou Yiwen)
b8121227b6 Merge branch 'refactor/esp_driver_sdio' into 'master'
refactor(sdio): place sdio slave driver into a new component

Closes IDF-8373

See merge request espressif/esp-idf!27125
2023-11-22 21:13:00 +08:00
Armando
b860930545 ci(sdio): updated sdio rules.yml 2023-11-22 14:23:14 +08:00
Chen Yu Dong
d7345a89df Merge branch 'ci/fix_fetch_from_mirror_url_if_exists' into 'master'
ci: fix fetch_from_mirror_url_if_exists

See merge request espressif/esp-idf!27184
2023-11-21 12:03:52 +08:00
Chen Yudong
294222eabf ci: fix fetch git diff from pipeline schedules 2023-11-20 22:08:57 +08:00