Hi all
i see there is a ci directory in the ESP-ADF packet under tool directory.
is that mean ESP-ADF had support Continuous integration?
how could we config jenkins for ESP-ADF Continuous integration?
BR!
how to set up jenkins (or other ci tool) for ESP-ADF
Re: how to set up jenkins (or other ci tool) for ESP-ADF
Hi,
I noticed you posted the same question in two forums and one otherwise unrelated thread. Please do not do this. I've deleted the duplicates.
We have CI in ESP-ADF and our other projects such as ESP-IDF to validate changes which are made in the project. We build examples, check for warnings, and run a bank of unit & integration tests. Our CI runs on our internal Gitlab installation, before changes are pushed to our public repo no Github.
Most of our CI setup is internal for Espressif use, although some code/docs are available including the unit testing framework (based on Unity) so you can, for example, write your own firmware unit tests to run on an ESP32. The "test runner" functionality for automating test runs is unfortunately not published publically at this time, and it's probably not immediately suitable for non-Espressif configurations anyhow.
The CI framework we use is gitlab-ci as we use Gitlab for our internal source control server.
To set up CI builds for your own ESP-ADF project, you can use any CI tool you like - ESP-ADF uses "make", so any tool which can execute "make" is suitable.
Angus
I noticed you posted the same question in two forums and one otherwise unrelated thread. Please do not do this. I've deleted the duplicates.
We have CI in ESP-ADF and our other projects such as ESP-IDF to validate changes which are made in the project. We build examples, check for warnings, and run a bank of unit & integration tests. Our CI runs on our internal Gitlab installation, before changes are pushed to our public repo no Github.
Most of our CI setup is internal for Espressif use, although some code/docs are available including the unit testing framework (based on Unity) so you can, for example, write your own firmware unit tests to run on an ESP32. The "test runner" functionality for automating test runs is unfortunately not published publically at this time, and it's probably not immediately suitable for non-Espressif configurations anyhow.
The CI framework we use is gitlab-ci as we use Gitlab for our internal source control server.
To set up CI builds for your own ESP-ADF project, you can use any CI tool you like - ESP-ADF uses "make", so any tool which can execute "make" is suitable.
Angus
Re: how to set up jenkins (or other ci tool) for ESP-ADF
thanks !
at first sorry to post the same topic again!
i saw there is a note in the build_example.sh which located in ci directory。
but i am confused what should the some_text_label be set?
if i want to build only one example which is named by pipeline_bt_sink。
(F:\msys32\home\11022259\esp\esp-adf\examples\player\pipeline_bt_sink)
is that right i using a shell cmd which like below:
please!
at first sorry to post the same topic again!
i saw there is a note in the build_example.sh which located in ci directory。
Code: Select all
# With one argument <JOB_NAME> it builds part of the examples. This is a useful for
# parallel execution in CI.
# <JOB_NAME> must look like this:
# <some_text_label>_<num>
# It scans .gitlab-ci.yaml to count number of jobs which have name "<some_text_label>_<num>"
# It scans the filesystem to count all examples
# Based on this, it decides to run qa set of examples.
if i want to build only one example which is named by pipeline_bt_sink。
(F:\msys32\home\11022259\esp\esp-adf\examples\player\pipeline_bt_sink)
is that right i using a shell cmd which like below:
Code: Select all
bash build_examples.sh <pipeline_bt_sink>_<1>
Re: how to set up jenkins (or other ci tool) for ESP-ADF
i using the jenkins ci tool. when executed build_examples.sh ,there is always a error:ESP_Angus wrote:Hi,
I noticed you posted the same question in two forums and one otherwise unrelated thread. Please do not do this. I've deleted the duplicates.
We have CI in ESP-ADF and our other projects such as ESP-IDF to validate changes which are made in the project. We build examples, check for warnings, and run a bank of unit & integration tests. Our CI runs on our internal Gitlab installation, before changes are pushed to our public repo no Github.
Most of our CI setup is internal for Espressif use, although some code/docs are available including the unit testing framework (based on Unity) so you can, for example, write your own firmware unit tests to run on an ESP32. The "test runner" functionality for automating test runs is unfortunately not published publically at this time, and it's probably not immediately suitable for non-Espressif configurations anyhow.
The CI framework we use is gitlab-ci as we use Gitlab for our internal source control server.
To set up CI builds for your own ESP-ADF project, you can use any CI tool you like - ESP-ADF uses "make", so any tool which can execute "make" is suitable.
Angus
Code: Select all
13:55:30 [esp-adf_compact] $ "C:\Program Files\Git\bin\sh.exe" -xe C:\Windows\TEMP\jenkins2654704403047936911.sh
13:55:31 + cd 'D:\Program Files\Jenkins\workspace\esp-adf_compact\tools\ci'
13:55:31 + bash build_examples.sh
13:55:31 build_examples running in /d/Program Files/Jenkins/workspace/esp-adf_compact/tools/ci
13:55:31 >>> example [ 0 ] - D:Program FilesJenkinsworkspaceesp-adf_compact/examples/cloud_services/pipeline_aws_polly_mp3/Makefile
13:55:31 Building pipeline_aws_polly_mp3 as 0...
13:55:31 cp: cannot stat [b]'D:Program FilesJenkinsworkspaceesp-adf_compact[/b]/examples/cloud_services/pipeline_aws_polly_mp3': No such file or directory
13:55:31 Build step 'Execute shell' marked build as failure
Re: how to set up jenkins (or other ci tool) for ESP-ADF
This script exists so that gitlab-ci can build all of the examples without having to build them all on a single job runner (ie it can distribute building lots examples across lots of runners). This is important when building all ESP-IDF examples in our internal CI system, as we have a lot of them.mkseven32 wrote: i saw there is a note in the build_example.sh which located in ci directory。
If you only want to build one example (or any project), you can tell Jenkins to go into this directory and run "make".mkseven32 wrote: if i want to build only one example which is named by pipeline_bt_sink。
(F:\msys32\home\11022259\esp\esp-adf\examples\player\pipeline_bt_sink)
is that right i using a shell cmd which like below:
Code: Select all
bash build_examples.sh <pipeline_bt_sink>_<1>
Better, tell it to run "make V=1 BATCH_BUILD=1"
V=1 means you'll get verbose output (this is optional)
BATCH_BUILD=1 means it won't stop and prompt for input under any circumstances.
The build_examples.sh script exists to run make for a large number of examples, across a large number of machines. But each time it just runs "make".
Who is online
Users browsing this forum: No registered users and 31 guests