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

feat: add esp-idf component manifests generation #555

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

UncleRus
Copy link
Owner

@UncleRus UncleRus commented Aug 7, 2023

python ./devtools/devtool.py manifest --namespace=eil

@UncleRus UncleRus self-assigned this Aug 7, 2023
@UncleRus UncleRus added enhancement New feature or request registry Components registry labels Aug 7, 2023
@UncleRus UncleRus requested a review from trombik August 7, 2023 11:20
@UncleRus
Copy link
Owner Author

UncleRus commented Aug 7, 2023

There are some ambiguities:

  1. Who exactly will be the component maintainer? Will it be the maintainers of the repository (@UncleRus, @trombik) or those listed in the code_owners field in the metadata?
  2. What namespace should we use? I've made the default eil for now. It's clear that the answer will depend on the registration in the Espressif registry. @trombik, it seems you have already applied for registration? Was it a private application or from esp-idf-lib?
  3. How should we update the components in the registry? I tend to generate manifests and upload components individually, only modified ones, by packaging the component and its examples in a separate archive.
    At the moment, devtool generates new manifests for all components of the repository, but this can be easily redone.

@UncleRus UncleRus marked this pull request as draft August 8, 2023 13:24
@trombik
Copy link
Collaborator

trombik commented Sep 16, 2023

Sorry, I've been in a difficult situation. I cannot contribute at the moment. Hope I'll be able to help the project soon.

@hayschan
Copy link
Contributor

hayschan commented Mar 15, 2024

Updating the components in the registry, I suggest we lean towards generating manifests and uploading components individually, focusing on those that have been modified. This method, where each component and its examples are bundled in separate archives, seems to be a practical way to ensure updates are managed efficiently.

I found that the official GitHub action, upload-components-ci-action, is perfectly suited for this task. It even has a neat example on how to handle multiple components from a single repository, which could really simplify our process.

name: Push components to https://components.espressif.com
on:
  push:
    branches:
      - main
jobs:
  upload_components:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          submodules: "recursive"
      - name: Upload components to the component registry
        uses: espressif/upload-components-ci-action@v1
        with:
          directories: "components/my_component;components/another_component"
          namespace: "espressif" # we should change it to esp-idf-lib
          api_token: ${{ secrets.IDF_COMPONENT_API_TOKEN }}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request registry Components registry
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants