-
Notifications
You must be signed in to change notification settings - Fork 1.4k
arch/xtensa/esp32[-s2|-s3]: Modify the method of downloading the repository #17236
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
05d05e7 to
eac577d
Compare
ed60e98 to
067398b
Compare
|
@TangMeng12 Please look here The idea behind this logic was to reduce the time needed for the jobs. With the change you want to make, build times on CI will be longer than before. |
Throughout NuttX, and mostly in the I think we need to discuss (on the mailing list) and come up with a systematic approach that balances everyone's needs in a suitable way. Some of those needs are:
Rather than maintaining a hodgepodge of different approaches, a systematic approach will make it easier to add new external dependencies, maintain existing ones, and handle licensing correctly. |
@simbit18, can you add a line to the documentation on how to use the idea proposed in #13301? |
I have updated the commit based on your suggestions. In the commit, the default value of |
73db8b4 to
826faa4
Compare
|
@TangMeng12 , allow me to make a few observations. As already mentioned #13301, the current system was designed to speed up and reduce errors during the cloning/download step (also possible with Curl downloads if desired) on our CI. This system on CI makes sense when the packages need to be used in multiple configurations (currently only for Arch Expressif ) jobs Linux (risc-v-04), Linux (xtensa-01), Linux (xtensa-02) With this simple check
We can insert any package (if necessary) from the Nuttx or Apps repository into the storage directory. Storage is enabled with -S adds the nxtmpdir folder for third-party packages. in the build.yml workflow on GitHub nuttx/.github/workflows/build.yml Line 194 in 201406b
and if desired, you can use it locally
Line 35 in 201406b
At the moment, simply using CONFIG_ALLOW_DOWNLOADS (must be added to all Expressif configurations!) does not meet the requirements of our CI! @TangMeng12 Converted back to draft to avoid accidental merging. The impact must be considered !!! |
@TangMeng12 @simbit18 @hartmannathan another item to include in this listing is the Mirror support. I created the https://github.com/NuttX/apps-mirror-pkgs to have a backup/mirror of the packages that NuttX Apps is using, this way the build never will fail case some URL is momentarily inaccessible or if the site disappears. |
408fd88 to
1289979
Compare
f29b4f1 to
c65221e
Compare
|
As already mentioned 13301, the current system was designed to speed up and reduce errors during the cloning/download step (also possible with Curl downloads if desired) on our CI. Now, I’ve switched to downloading the zip file, but I still kept the optimizations from 13301. In this way, it not only retains the optimizations mentioned by @simbit18 in 13301, but also stays consistent with mostly in the nuttx-apps repo, while enabling local configuration for git repository debugging. |
e06ecc2 to
71e4743
Compare
tmedicci
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In summary, I still couldn't figure out why this PR is needed. I think it introduces more maintenance burden and is error-prone by decoupling the git submodules dependencies.
5df2468 to
38af81a
Compare
Directly downloading the Git repository is inconvenient for local debugging. This will allow to automatically download external packages from the Internet. If not set, the repo need to be download will need to provide them manually, otherwise an error will occur and the build will be aborted. Add `USE_NXTMPDIR_ESP_REPO_DIRECTLY`, with this we can use `USE_NXTMPDIR_ESP_REPO_DIRECTLY=y make` which can directly use esp-hal-3rdparty under nxtmpdir without CHECK_COMMITSHA, reset, checkout and update. Signed-off-by: v-tangmeng <[email protected]>
Directly downloading the Git repository is inconvenient for local debugging.
Directly downloading the Git repository is inconvenient for local debugging.
This will allow to automatically download external packages from the Internet.
If not set, the repo need to be download will need to provide them manually,
otherwise an error will occur and the build will be aborted.
Add
USE_NXTMPDIR_ESP_REPO_DIRECTLY, with this we can useUSE_NXTMPDIR_ESP_REPO_DIRECTLY=y makewhich can directly use esp-hal-3rdpartyunder nxtmpdir without CHECK_COMMITSHA, reset, checkout and update.
Note: Please adhere to Contributing Guidelines.
Summary
Add
USE_NXTMPDIR_ESP_REPO_DIRECTLY, with this we can useUSE_NXTMPDIR_ESP_REPO_DIRECTLY=y makewhich can directly use esp-hal-3rdpartyunder nxtmpdir without CHECK_COMMITSHA, reset, checkout and update.
nuttxworkspace
|
|- nuttx
|- apps
|- nxtmpdir
USE_NXTMPDIR_ESP_REPO_DIRECTLY=y make
ARCH
arch/xtensa/src/esp32/Make.defs
arch/xtensa/src/esp32s2/Make.defs
arch/xtensa/src/esp32s3/Make.defs
arch/risc-v/src/common/espressif/Make.defs
arch/risc-v/src/esp32c3-legacy/Make.defs
ARCH
arch/xtensa/src/esp32/Make.defs
arch/xtensa/src/esp32s2/Make.defs
arch/xtensa/src/esp32s3/Make.defs
arch/risc-v/src/common/espressif/Make.defs
arch/risc-v/src/esp32c3-legacy/Make.defs
Impact
There should be no impact.
Testing
CI