Skip to content
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

Maintenance changes in the component, examples and readme #597

Merged
merged 8 commits into from
Nov 9, 2023

Conversation

igrr
Copy link
Member

@igrr igrr commented Nov 9, 2023

This PR combines several minor changes, mostly related to updating the repository structure to match the currently recommended one for managed components:

  • Removed legacy GNU Make based build system files. The last IDF release which didn't support CMake has been EoL for more than two years, so we can safely remove GNU Make support now.
  • Moved the example project to examples/camera_example. At this location, it will be found automatically by the Component Manager, and the example will be made available for download from idf.py create-project-from-example and from within the IDEs.
  • Replaced legacy register_component calls with idf_component_register. The last version which didn't support idf_component_register was v3.3, which is EOL for a long time.
  • Modified the example to declare the dependency on esp32-camera in idf_component.yml. Removed the EXTRA_COMPONENT_DIRS, so that the example now works when downloaded from the component registry. (It still works as part of the git checkout of the repository due to the override_path)
  • Updated installation instructions following the discussion in Easier setup for PlatformIO for ESP-IDF using idf_component.yml #596. Split the instructions into two parts: for IDF and Arduino. IDF instructions (whether using idf.py or pio) now use the component manager for installation. Arduino instructions are split between the Arduino IDE and PlatformIO. I have removed the long paragraph about getting Kconfig to work in PlatformIO for IDF v3.x-v4.0, since these versions are EOL. With recent IDF releases, PlatformIO will automatically find the Kconfig file located inside the component, so it's not necessary to copy anything anywhere.
  • Fixed a minor issue that esp32-camera component did not declare an interface dependency on driver. This issue lead to a compilation error (driver/gpio.h not found) if main component didn't have its own dependency on driver.
  • Removed IDF release/v4.1 and release/v4.2 testing from the CI pipeline, since these versions are now EOL.

@igrr igrr force-pushed the maintenance/component_examples_and_readme branch from d45965e to 5085977 Compare November 9, 2023 13:31
@igrr igrr force-pushed the maintenance/component_examples_and_readme branch from 5085977 to 3ca99c9 Compare November 9, 2023 13:37
@igrr igrr force-pushed the maintenance/component_examples_and_readme branch from 3ca99c9 to 2ddedb9 Compare November 9, 2023 13:42
@igrr igrr requested a review from me-no-dev November 9, 2023 13:48
@@ -11,11 +11,8 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
idf_ver: ["release-v4.1", "release-v4.2", "release-v4.3"]
idf_ver: ["release-v4.3"]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

makes sense to add some newer versions? 4.4, 5.0 and 5.1

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They are already there in build-examples-pedantic job below, around line 29.

As I understand, when we have enabled more strict warnings checks in CI, we only did so for v4.4 and later, and split the jobs into

  • a job for the old releases without warnings checks
  • a job for the new releases with warnings checks

I guess the two jobs could be folded into one. But it's probably not so important since release/v4.3 will be EOL in a month (December 15) and we can remove this job completely.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ah... that explains my confusion.

@@ -11,11 +11,8 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
idf_ver: ["release-v4.1", "release-v4.2", "release-v4.3"]
idf_ver: ["release-v4.3"]
idf_target: ["esp32", "esp32s2"]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we could also add S3 to the list of targets

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Already there around line 35.

@me-no-dev me-no-dev merged commit 8e1a003 into master Nov 9, 2023
21 checks passed
@me-no-dev me-no-dev deleted the maintenance/component_examples_and_readme branch November 9, 2023 16:23
@igrr
Copy link
Member Author

igrr commented Nov 9, 2023

@me-no-dev Thanks for reviewing! Could you please tag 2.0.6 or 2.1.0 to get the new version with the example updates deployed? Otherwise the `idf.py create-project-from-example" command mentioned in the readme won't work.

@me-no-dev
Copy link
Member

@igrr yes. Just asked @WangYuxin-esp to check a small PR about the GC sensors and will tag a new release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants