Commit graph

215 commits

Author SHA1 Message Date
Angus Gratton
2ae5b41f56 ci: Use new common host_test tag for host-side testing 2018-06-06 17:20:44 +10:00
Ivan Grokhotkov
74928b9bcb ci: check for executable flag on source files 2018-05-29 20:07:45 +08:00
He Yin Ling
eaedb2272e CI: remove unnecessary artifacts of assign_test 2018-05-24 03:40:03 +00:00
He Yin Ling
3b24bc42d2 CI: assign unit test cases according to sdkconfig:
We have built unit-test-app with different configs.
Currently we use the config name as tags to match runners.
It's not easy to add new configs (need to update tags to existed runners).

Now we'll parse required test runner tags from `sdkconfig` file.
For example, if config enables `CONFIG_SPIRAM_SUPPORT`, then it requires `psram` tag.
This will make adding new configs easier.

In this commit we change the one behavior of assign test: match keys of
cases should be exactly the same with job tags. This fixes cases select
jobs include their tags, and jobs requires those tags can't be assigned.
2018-05-24 03:40:03 +00:00
He Yin Ling
9e7a69be88 example test: integrate wifi throughput test to CI 2018-05-15 13:42:27 +08:00
Ivan Grokhotkov
b840a09900 ci: increase number of unit test jobs 2018-05-11 16:42:52 +08:00
Roland Dobai
5129bca67c VFS: Use smaller numbers as file descriptors 2018-05-07 09:01:56 +02:00
Anton Maklakov
842cd7b38e CI: Try to build examples in second time in case of error
It will help to work around the weird bug during buillding a batch of examples
2018-04-25 11:06:04 +08:00
Ivan Grokhotkov
6545f8eaf3 nvs: add long ci test for power off recovery and coverage
This test can be triggered manually:
`bot test name: test_nvs_coverage`
2018-04-19 15:08:08 +08:00
huchaoru
f409a33653 test: update ci test case 2018-04-10 14:08:10 +00:00
Angus Gratton
2914111c8c Merge branch 'bugfix/heap_fragmentation_on_split_pr1761' into 'master'
heap: Try to merge tail with next block when splitting

See merge request idf/esp-idf!2147
2018-04-10 12:14:57 +08:00
Tian Hao
58e7464dc0 component/esp32 : clear some minor thingsw about PM and coexistence 2018-04-03 20:13:49 +08:00
Ivan Grokhotkov
595ddfd825 Merge branch 'feature/build_ssc_in_multiple_ci_jobs' into 'master'
CI: support build SSC in multiple jobs

See merge request idf/esp-idf!1622
2018-04-03 18:20:38 +08:00
Angus Gratton
3ccb12530b heap: Change test_multi_heap_on_host multi-config to bash script not Makefile
Hopefully fix some CI building issues with parallel builds.
2018-04-03 16:34:02 +10:00
island
9b7454de0c support wifi&bt coexist (v0.9.1)
1. refactor wifi modem sleep
2. refactor wifi and bt phy enable/diable coexistence
3. support wifi&bt coexist (v0.9.1)
3. add coex pause resume
4. fix bt library interrupt reaction slowly
5. make a2dp more smooth when coex
6. add coexist preference option
7. Make CI do not check libcoexist.a printf/ets_printf
8. disable Wifi RX AMPDU when software coexistence enable && update wifi lib
9. bluetooth call modem sleep api
2018-04-02 13:44:48 +08:00
He Yin Ling
493a92665d CI: support build SSC in multiple jobs 2018-03-29 19:40:07 +08:00
Anton Maklakov
f3d61015f7 build: Fix problems with building kconfig and generating sdkconfig
We had some problems:
    simultaneous compiling of kconfig in the same tree;
    attempt to use menuconfig in some examples and ut in batch mode (w/o interactive console)

Also increase debug abilities in CI:
    force non-interactive building;
    add variable DEBUG_SHELL to toggle verbosity of scripts
2018-03-28 10:39:20 +08:00
krzychb
621076f329 Introduced a CI check if folders with localized documentation are in sync, i.e. if they contain the same list of files 2018-03-16 07:54:58 +01:00
He Yin Ling
286874eca4 CI: print document preview link in deploy_docs 2018-03-13 22:07:31 +01:00
michael
dda0e68c7c doc: two languages support for deploy_docs stage. 2018-03-13 22:07:31 +01:00
krzychb
c63d7a4b5e Adjusted CI configuration to handle 'en' and 'zh_CN' language versions 2018-03-13 22:07:31 +01:00
Roland Dobai
4322e31c98 Make it easier to look up error messages
tools/gen_esp_err_to_name.py generates
components/esp32/esp_err_to_name.c for lookup of the error codes from
all of the IDF project and easily identify all codes in one place
2018-02-15 14:19:03 +01:00
houchenyao
5b8a9478a3 CI: new CI ut framework, and can run it in local PC 2018-02-05 06:58:22 +00:00
Ivan Grokhotkov
d082bf0697 Merge branch 'test/support_specify_docker_image' into 'master'
CI: support specify docker image with bot

See merge request !1586
2018-01-10 15:41:46 +08:00
Anton Maklakov
20616fc0f5 CI: Fix a sporadic bug when building of the examples. Add logs to the artifacts 2017-12-28 19:20:48 +08:00
Ivan Grokhotkov
a99483a727 docs: add information about execution time of ULP instructions 2017-12-11 14:05:41 +08:00
He Yin Ling
dd371289aa CI: fix C++ unit test cases not executed by CI 2017-11-23 17:14:23 +08:00
Ivan Grokhotkov
9a09292487 ci: increase number of example build jobs 2017-11-23 12:02:41 +08:00
He Yin Ling
3ad64bc099 CI: support sepcify docker image tag with bot 2017-11-23 11:31:54 +08:00
He Yin Ling
c6f7a38536 CI: support customize test with @bot 2017-11-08 11:36:16 +08:00
Ivan Grokhotkov
6b420b2452 unit tests: add psram configuration 2017-11-06 11:23:15 +08:00
Ivan Grokhotkov
0bc3b3205d ci: add one more job for single core unit tests 2017-11-05 21:50:43 +08:00
He Yin Ling
cd1223a25e CI: integrate example test to CI 2017-10-31 19:16:26 +08:00
Ivan Grokhotkov
90bbcbcdc0 unit tests: fix warnings, build with -Werror
- libsodium: silence warnings
- unit tests: fix warnings
- spiram: fix warnings
- ringbuf test: enable by default, reduce delays
2017-10-19 21:35:23 +08:00
He Yin Ling
0a5b678e58 CI: support test UT with different config by CI 2017-10-19 21:35:20 +08:00
Ivan Grokhotkov
3d150be4e1 unit-test-app: new targets for building different configurations 2017-10-19 21:35:19 +08:00
Angus Gratton
4b8aa9e20d ci: Add new check_doc_warnings.sh script, pre-process log lines
* Fixes issue in !1250 when IDF_PATH changes on build runner
* Allows checking document warnings before CI run
* Will be robust to line number changes in document files
2017-09-14 13:46:35 +10:00
krzychb
59792bb2c3 Fail CI build on Sphinx warnings 2017-09-12 07:12:57 +02:00
Ivan Grokhotkov
b3c6748a0b ci: add extra unit test job 2017-09-04 20:39:35 +08:00
Angus Gratton
97efaab27b build system tests: Run inside PWD same as build_examples.sh 2017-09-04 17:40:15 +10:00
Angus Gratton
774c9d0a61 ci: Add two more example build jobs per CI pass 2017-09-04 17:40:15 +10:00
Angus Gratton
2544355301 build_examples: Small cleanups
* Override MAKEFLAGS via make not via shell variables
* Remove build_examples in gitlab-ci
* Don't use mktemp for any logs
2017-09-04 17:40:15 +10:00
He Yin Ling
9fa2a9a270 CI: remove build at from CI:
AT is a standalone application. It will not keep up with latest IDF. If
IDF changes APIs which AT used, CI will fail. Therefore remove AT job.
2017-08-29 23:09:02 +08:00
houchenyao
cf64c7e9a6 unit test: add sd env and spi env for sdmmc 2017-08-22 21:01:34 +08:00
Angus Gratton
71c70cb15c heap: Refactor heap regions/capabilities out of FreeRTOS
Remove tagged heap API, rename caps_xxx to heap_caps_xxx

Also includes additional heap_caps_xxx inspection functions.
2017-07-10 17:46:03 +08:00
Anton Maklakov
19cd330117 CI: Fix error in the push_master_to_github job when using the fetch strategy 2017-07-04 11:53:24 +08:00
Anton Maklakov
e55eeb0687 CI: Use anchors to get rid of code dublication in the 'before_script' clauses 2017-06-30 12:08:24 +08:00
Anton Maklakov
52445ee541 CI: Use local mirrors for submodules
The CI uses the mirror-submodule-update.sh for non-permanent reassignment
    of 3rdparty sub-modules to local mirrors (only for 'non-master' branches).
    List of the mirrors in mirror-list.txt

    You can use the script locally to speed up data retrieval on network problems

    check_submodule_sync job uses 'GIT_STRATEGY: clone' to check the availability of public sources
2017-06-30 12:06:02 +08:00
Angus Gratton
f52519d7a2 CI: Use custom get_full_sources.sh script instead of gitlab-ci's strategies
Work around problems caused by failed submodule clones corrupting
    the working directory on the build runner.

    Add 10 retries for cloning submodules.
2017-06-30 12:05:17 +08:00
Anton Maklakov
35609de417 CI: Move the ci-related staff to a separate directory 2017-06-30 11:57:07 +08:00
Anton Maklakov
6aca6f5aab ci check_commit_msg: Use CI_COMMIT_SHA to avoid ambiguity 2017-06-30 11:57:07 +08:00
He Yin Ling
1bd9859c08 CI: add test jobs for BLE cases 2017-06-27 10:35:39 +08:00
Anton Maklakov
14125f3361 CI: Add CI options to use more attempts in some transfer situations 2017-06-19 14:09:48 +08:00
Anton Maklakov
e334b7267e CI: Minor changes in code formatting and cleanup 2017-06-19 11:52:43 +08:00
Anton Maklakov
3f8e58a637 CI: Put in order the job dependences 2017-06-19 11:52:43 +08:00
He Yin Ling
4d4b0b646d CI: check if internal submodule synced to GH
See MR !834
2017-06-19 11:52:43 +08:00
Anton Maklakov
055c7420fd CI build_ssc: Workaround for the SSC build error 2017-06-19 09:23:24 +08:00
Ivan Grokhotkov
81f98c0a77 Merge branch 'test/nvs_compatible_test' into 'master'
test: add WIFI NVS compatible test case

See merge request !812
2017-06-13 21:32:50 +08:00
Anton Maklakov
c5b5dd88f9 CI: Build examples in parallel
Now you can create several 'build_examples_N' jobs
    in the .gitlab-ci.yaml and get parallel execution.
2017-06-09 14:15:43 +08:00
Anton Maklakov
a7dde817f9 CI: Use the environment variable MAKEFLAGS for 'make' instead of the in-place '-j' option. 2017-06-09 13:24:39 +08:00
Anton Maklakov
450b9a4e5c CI: Assign a common variable 2017-06-09 13:24:39 +08:00
Anton Maklakov
6606c51728 CI: Fix build_examples to cover the deep hierarchy examples
Now we have 57 building examples against 49 before.

    Also, a short message prints at the end of the job for found warnings.
2017-06-09 13:24:39 +08:00
Anton Maklakov
5f49b04428 CI: Fix incorrect path to the artifacts in build_examples 2017-06-09 13:24:39 +08:00
He Yin Ling
2e7f6a2247 test: add NVS compatible test case and CI job 2017-06-04 10:29:15 +08:00
He Yin Ling
592b8a4325 CI: add one more UT runner 2017-06-03 11:38:52 +08:00
jack
fc130fba86 fix bug that files missing commit in MR 773 2017-05-31 19:37:39 +08:00
Ivan Grokhotkov
972d1d9242 Merge branch 'feature/ci_test_config_autogen' into 'master'
CI: auto generate configs for test jobs

Currently CI test jobs are static configured by several pre-generated config files.
This approach have several disadvantages:

1. not flexible to select test cases to run, which is important feature of @bot
2. difficult to update test as we need to pre-generate quite a lot files
3. need to maintain extra config files in IDF
4. not flexible to support new test apps or chips, can't use some new features of test bench

Therefore we'll add assign_test stage between build and test, to generate configs for test jobs.

See merge request !738
2017-05-19 11:56:45 +08:00
Angus Gratton
51f20c6e7c gen_esp32part: Run unit tests on host as part of gitlab-ci 2017-05-12 16:28:41 +10:00
He Yin Ling
5d4783ee07 CI: update CI config file for auto assign test:
we'll now assign cases to test jobs in assign_test_case job instead of
static job config file.
2017-05-08 13:33:04 +08:00
He Yin Ling
2b273388dd CI: save download config in CI build jobs:
IDF built app download config may change with some modification.
save the download configs for built APP in build stage.
then we can use the correct download config in test stage.
2017-05-02 13:17:56 +08:00
Anton Maklakov
69bf14360d ci: Fix the incorrect path 2017-04-27 11:35:17 +08:00
Anton Maklakov
a2332bc18f ci: A config generator doesn't using anymore 2017-04-27 11:32:25 +08:00
Anton Maklakov
3531af91a1 ci: Delete the unused variable 2017-04-27 11:32:25 +08:00
Anton Maklakov
2ad9cd36e2 ci: Reorder the clauses for more convenience 2017-04-27 11:32:25 +08:00
Ivan Grokhotkov
b540322dc1 Merge branch 'feature/wear_levelling' into 'master'
wear levelling

This MR adds wear levelling component. It presents an interface similar to the interface of spi_flash and esp_partition. Inside, it stores data inside a partition to in a way that reduces worst case number of erase cycles for any given sector.

Also included are APIs similar to the ones provided for SDMMC to mount FAT filesystem on top of the wear levelling partition. A simple example shows how this API can be used.

Ref TW10338.

See merge request !567
2017-04-25 19:46:11 +08:00
Angus Gratton
7b0e6e2fc4 ci: Build with V=0
BATCH_BUILD implies V=1, but SSC produces a *lot* of log output in verbose mode.

For now, disable setting V=1 for all CI build modes.
2017-04-20 13:58:30 +10:00
Ivan Grokhotkov
3a39475d20 wear_levelling: run host side test in CI 2017-04-17 11:01:18 +08:00
Ivan Grokhotkov
81f71522b6 Merge branch 'feature/parse_unit_test_cases_from_build_files' into 'master'
CI: modify unit test parser to get unit test cases from build files



See merge request !545
2017-04-10 12:20:00 +08:00
He Yin Ling
81becd5e66 CI: check if commit history need revise 2017-04-10 09:42:49 +08:00
He Yin Ling
678a7b53f7 CI: revise unit test parser 2017-04-06 19:09:16 +08:00
Ivan Grokhotkov
37304aba2d Merge branch 'feature/ci_tags_release_branches' into 'master'
CI support for testing & deploying release tags & branches

For CI testing & deployment of release branches:
* Test release tags as well as branches
* Swap gitlab submodule URLs to github when testing release tags or branches.

These changes are already pushed to the release/v2.0 branch.

See merge request !604
2017-03-24 15:55:15 +08:00
Ivan Grokhotkov
d96b8c317a ci: allow passing Hub account or registry name from the environment 2017-03-22 21:59:40 +08:00
Angus Gratton
818d1de771 ci: Swap github/gitlab submodules for release branches & tags also 2017-03-22 21:23:12 +08:00
Angus Gratton
099b5552c4 ci: Also run deployment steps for tags of form vX.Y (with optional -suffix) 2017-03-22 21:23:07 +08:00
Angus Gratton
364476c1cd ci: Fix master branch being pushed to master
Previous change in 8b6993f7 doesn't work if branch exists locally.
2017-03-17 12:02:46 +08:00
Angus Gratton
8b6993f7aa build/CI: Push all allocated release branches to github
Previously CI deployment only pushed to master.
2017-03-15 17:36:41 +08:00
Angus Gratton
da660b234c AWS IoT Device SDK Support
Use device cert/key embedded in firmware, or loaded from filesystem.
2017-03-13 17:23:29 +08:00
Ivan Grokhotkov
abe8e40597 ci: fix release branch being pushed into master
Also fix variable quoting issue in link check build.
2017-03-04 18:17:59 +08:00
Ivan Grokhotkov
c01dff8263 Merge branch 'feature/run_test_on_release_branches' into 'master'
CI: support running CI test on release branches

Patches will be cherry-picked to release branches after it's released. Therefore we need to run test jobs with the same strategy as master.

See merge request !551
2017-03-04 15:06:37 +08:00
Angus Gratton
f29768c404 Build system: Add new BATCH_BUILD flag to disable interactive parts of the build
Mostly useful for Eclipse (where accidentally running interactive
config hangs the build), but also good for CI and other automated
build systems.
2017-02-22 11:59:37 +11:00
He Yin Ling
732a5fd0b2 CI: get test env config from gitlab
Previous design was put test env config on local runners. It's not easy
to manage as test runners count growing. Now we'll put config files for
test runners to a Gitlab repository. Test runners will get its config
from Gitlab every time before running.
2017-02-02 21:59:00 +08:00
He Yin Ling
d193424ae8 CI: add job to check build esp-at in esp-idf 2017-01-24 15:52:07 +08:00
Ivan Grokhotkov
fbe89a0833 Merge branch 'feature/deploy_tags' into 'master'
ci: deploy code and docs for tags

Currently deploy happens only for the master branch.
This change is needed to support tags in release branches.

See merge request !458
2017-01-20 19:38:02 +08:00
Ivan Grokhotkov
b4a29f5240 ci: deploy code and docs for release branches
Currently deploy happens only for the master branch.
This change is needed to support release branches.
2017-01-20 18:45:21 +08:00
Ivan Grokhotkov
632bd0bb4f Merge branch 'feature/docs_gh_link_roles' into 'master'
docs: use custom roles to generate GitHub links

This change replaces direct links to GitHub master branch with
auto-generated links using docutils custom roles.
These auto-generated links point to the tree or blob for the git commit
ID (or tag) of the repository. This is needed to ensure that links don’t
become broken when files in master branch are moved around or deleted.

The following roles are introduced:

```
- :idf:`path` - points to directory inside ESP-IDF
- :idf_blob:`path` - points to file inside ESP-IDF
- :idf_raw:`path` - points to raw view of the file inside ESP-IDF
- :component:`path` - points to directory inside ESP-IDF components dir
- :component_blob:`path` - points to file inside ESP-IDF components dir
- :component_raw:`path` - points to raw view of the file inside ESP-IDF
  components dir
- :example:`path` - points to directory inside ESP-IDF examples dir
- :example_blob:`path` - points to file inside ESP-IDF examples dir
- :example_raw:`path` - points to raw view of the file inside ESP-IDF
  examples dir
```

A check is added to the CI build script, which searches RST files for
presence of hard-coded links (identified by tree/master, blob/master,
or raw/master part of the URL).
This check can be run manually: cd docs && make gh-linkcheck

Additionally, Sphinx linkcheck build type is used to create new CI test,
which check for broken links. This test has to be triggered explicitly,
because including it in normal build process (when the commit is not yet
deployed to Github) will not work. It can be triggered in a regular
fashion using a combination of cron and Curl, similar to stress tests.

See merge request !455
2017-01-20 17:47:34 +08:00
Ivan Grokhotkov
15072028c4 docs: use custom roles to generate GitHub links
This change replaces direct links to GitHub master branch with
auto-generated links using docutils custom roles.
These auto-generated links point to the tree or blob for the git commit
ID (or tag) of the repository. This is needed to ensure that links don’t
become broken when files in master branch are moved around or deleted.

The following roles are introduced:

- :idf:`path` - points to directory inside ESP-IDF
- :idf_blob:`path` - points to file inside ESP-IDF
- :idf_raw:`path` - points to raw view of the file inside ESP-IDF
- :component:`path` - points to directory inside ESP-IDF components dir
- :component_blob:`path` - points to file inside ESP-IDF components dir
- :component_raw:`path` - points to raw view of the file inside ESP-IDF
  components dir
- :example:`path` - points to directory inside ESP-IDF examples dir
- :example_blob:`path` - points to file inside ESP-IDF examples dir
- :example_raw:`path` - points to raw view of the file inside ESP-IDF
  examples dir

A check is added to the CI build script, which searches RST files for
presence of hard-coded links (identified by tree/master, blob/master,
or raw/master part of the URL).
This check can be run manually: cd docs && make gh-linkcheck

Additionally, Sphinx linkcheck build type is used to create new CI test,
which check for broken links. This test has to be triggered explicitly,
because including it in normal build process (when the commit is not yet
deployed to Github) will not work. It can be triggered in a regular
fashion using a combination of cron and Curl, similar to stress tests.
2017-01-20 17:22:47 +08:00
He Yin Ling
5305842763 CI: fix merge error on test report job
the variable used to save report result is changed by merge error
2017-01-19 23:37:12 +08:00
He Yin Ling
3c28283377 CI: fix bug that test result always fail
the path of module definition file from unit test is not correct
2017-01-19 18:59:50 +08:00
antti
0501507d6b CI: add script for parsing unit test cases for CI from test files
Add python script that parses list of unit test cases for CI from component test folder

Modify .gitlab-ci.yml to run this script as part of build unit tests stage
2017-01-18 17:08:20 +08:00
Yinling
16de41941e CI: fix bug that test report job failed 2017-01-03 14:07:00 +08:00