From c133c8d504a40467c10922b3b7b0ae5d4a5003d6 Mon Sep 17 00:00:00 2001 From: Jacob Gelman <3182119+ladvoc@users.noreply.github.com> Date: Thu, 11 Sep 2025 16:21:14 +1000 Subject: [PATCH 1/4] Prepare third-party deps for registry --- components/third_party/khash/README.md | 7 +++++++ components/third_party/khash/idf_component.yml | 4 +++- components/third_party/nanopb/README.md | 7 +++++++ components/third_party/nanopb/idf_component.yml | 4 ++-- 4 files changed, 19 insertions(+), 3 deletions(-) create mode 100644 components/third_party/khash/README.md create mode 100644 components/third_party/nanopb/README.md diff --git a/components/third_party/khash/README.md b/components/third_party/khash/README.md new file mode 100644 index 0000000..58d2269 --- /dev/null +++ b/components/third_party/khash/README.md @@ -0,0 +1,7 @@ +# Khash + +A generic hash table with open addressing from [Klib](https://github.com/attractivechaos/klib). + +--- + +**Important**: This component is uploaded to the ESP Component Registry unofficially and is not affiliated with the Klib project. It is used as a dependency of the [LiveKit ESP32 SDK](https://github.com/livekit/client-sdk-esp32) and may not be regularly updated with the upstream project. diff --git a/components/third_party/khash/idf_component.yml b/components/third_party/khash/idf_component.yml index 38f7dbd..55c2d55 100644 --- a/components/third_party/khash/idf_component.yml +++ b/components/third_party/khash/idf_component.yml @@ -1,3 +1,5 @@ -description: Khash (from klib) +version: 0.1.0 +description: A generic hash table with open addressing. +url: https://attractivechaos.github.io/klib/ repository: https://github.com/attractivechaos/klib license: MIT \ No newline at end of file diff --git a/components/third_party/nanopb/README.md b/components/third_party/nanopb/README.md new file mode 100644 index 0000000..3de937b --- /dev/null +++ b/components/third_party/nanopb/README.md @@ -0,0 +1,7 @@ +# Nanopb + +Protocol buffer library for embedded systems. + +--- + +**Important**: This component is uploaded to the ESP Component Registry unofficially and is not affiliated with the Nanopb project. It is used as a dependency of the [LiveKit ESP32 SDK](https://github.com/livekit/client-sdk-esp32) and may not be regularly updated with the upstream project. diff --git a/components/third_party/nanopb/idf_component.yml b/components/third_party/nanopb/idf_component.yml index 679cc09..9d2995d 100644 --- a/components/third_party/nanopb/idf_component.yml +++ b/components/third_party/nanopb/idf_component.yml @@ -1,6 +1,6 @@ -description: Nanopb +version: 0.4.9 +description: Protocol buffer library for embedded systems. url: https://jpa.kapsi.fi/nanopb/ repository: https://github.com/nanopb/nanopb/ documentation: https://jpa.kapsi.fi/nanopb/docs/ -version: 0.4.9 license: Zlib \ No newline at end of file From e22a2405e8c575260094024869beb7582ddd6d7e Mon Sep 17 00:00:00 2001 From: Jacob Gelman <3182119+ladvoc@users.noreply.github.com> Date: Thu, 11 Sep 2025 17:07:51 +1000 Subject: [PATCH 2/4] Create component upload workflow --- .github/workflows/esp_registry.yml | 34 ++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 .github/workflows/esp_registry.yml diff --git a/.github/workflows/esp_registry.yml b/.github/workflows/esp_registry.yml new file mode 100644 index 0000000..29b2a20 --- /dev/null +++ b/.github/workflows/esp_registry.yml @@ -0,0 +1,34 @@ +name: ESP Registry +on: + workflow_call: + inputs: + dry_run: + type: boolean + description: Do not actually upload the components + default: true +jobs: + esp_registry: + runs-on: ubuntu-latest + env: + COMPONENTS: | + nanopb:./components/third_party/nanopb + khash:./components/third_party/khash + steps: + - uses: actions/checkout@v4 + with: { submodules: recursive } + - name: Upload Components (Dry Run) + uses: espressif/upload-components-ci-action@v2 + if: ${{ inputs.dry_run }} + with: + components: ${{ env.COMPONENTS }} + namespace: livekit + api_token: ${{ secrets.ESP_REGISTRY_TOKEN }} + dry_run: true + - name: Upload Components + uses: espressif/upload-components-ci-action@v2 + if: ${{ !inputs.dry_run }} + with: + components: ${{ env.COMPONENTS }} + namespace: livekit + api_token: ${{ secrets.ESP_REGISTRY_TOKEN }} + dry_run: false From d17b0a92b9acdb37bdc75d271fe90da3e6ca678a Mon Sep 17 00:00:00 2001 From: Jacob Gelman <3182119+ladvoc@users.noreply.github.com> Date: Thu, 11 Sep 2025 17:08:00 +1000 Subject: [PATCH 3/4] Update existing workflows --- .github/workflows/ci.yml | 6 +++++- .github/workflows/docs.yml | 16 +++++++++------- .github/workflows/esp_registry.yml | 1 + .github/workflows/release.yml | 14 ++++++++++++++ 4 files changed, 29 insertions(+), 8 deletions(-) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 82daa51..b327246 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,4 +16,8 @@ jobs: uses: ./.github/workflows/build_examples.yml license-check: name: License Check - uses: ./.github/workflows/license_check.yml \ No newline at end of file + uses: ./.github/workflows/license_check.yml + registry-check: + name: Registry Check + uses: ./.github/workflows/esp_registry.yml + with: { dry_run: true } \ No newline at end of file diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 76225d9..9a3ba70 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -1,11 +1,11 @@ name: Build Documentation on: - workflow_dispatch: - push: - branches: [main] -concurrency: - group: "docs" - cancel-in-progress: true + workflow_call: + inputs: + deploy: + type: boolean + description: Deploy to GitHub Pages + default: false jobs: build-docs: name: Build Documentation @@ -21,11 +21,13 @@ jobs: - name: Configure Pages uses: actions/configure-pages@v5 - name: Upload Generated Docs + if: ${{ inputs.deploy }} uses: actions/upload-pages-artifact@v3 with: { path: docs/output/html } - deploy: + deploy-docs: name: Deploy Documentation needs: build-docs + if: ${{ inputs.deploy }} permissions: pages: write id-token: write diff --git a/.github/workflows/esp_registry.yml b/.github/workflows/esp_registry.yml index 29b2a20..aed833f 100644 --- a/.github/workflows/esp_registry.yml +++ b/.github/workflows/esp_registry.yml @@ -8,6 +8,7 @@ on: default: true jobs: esp_registry: + name: Upload Components runs-on: ubuntu-latest env: COMPONENTS: | diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..ac6280d --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,14 @@ +name: Release +on: + workflow_dispatch: + push: + branches: [main] +jobs: + registry-upload: + name: Registry Upload + uses: ./.github/workflows/esp_registry.yml + with: { dry_run: false } + deploy-docs: + name: Deploy Documentation + uses: ./.github/workflows/docs.yml + with: { deploy: true } \ No newline at end of file From a2ab853274eb37b13b3471d2577e5119ef087c57 Mon Sep 17 00:00:00 2001 From: Jacob Gelman <3182119+ladvoc@users.noreply.github.com> Date: Thu, 11 Sep 2025 17:25:29 +1000 Subject: [PATCH 4/4] Use registry for nanopb and khash --- components/livekit/idf_component.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/components/livekit/idf_component.yml b/components/livekit/idf_component.yml index ba199c0..544d7fb 100644 --- a/components/livekit/idf_component.yml +++ b/components/livekit/idf_component.yml @@ -15,9 +15,7 @@ dependencies: espressif/esp_peer: ~1.2.3 media_lib_sal: path: ../third_party/esp-webrtc-solution/components/media_lib_sal - nanopb: - path: ../third_party/nanopb - khash: - path: ../third_party/khash + livekit/nanopb: ~0.4.9 + livekit/khash: ~0.1.0 files: use_gitignore: true \ No newline at end of file