Skip to content

Conversation

@kolipakakondal
Copy link
Collaborator

@kolipakakondal kolipakakondal commented Dec 8, 2025

Description

Please include a summary of the change and which issue is fixed.

Fixes # (IEP-XXX)

Type of change

Please delete options that are not relevant.

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

How has this been tested?

Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

  • Test A
  • Test B

Test Configuration:

  • ESP-IDF Version:
  • OS (Windows,Linux and macOS):

Dependent components impacted by this PR:

  • Component 1
  • Component 2

Checklist

  • PR Self Reviewed
  • Applied Code formatting
  • Added Documentation
  • Added Unit Test
  • Verified on all platforms - Windows,Linux and macOS

Summary by CodeRabbit

  • Chores
    • Release version updated to 3.7.1
    • Enhanced build process to ensure proper handling of signed packages during distribution

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link

coderabbitai bot commented Dec 8, 2025

Walkthrough

Version bump from 3.7.0 to 3.7.1 across manifest, feature, and product files. A new CI workflow step added to regenerate P2 repository metadata after macOS JAR signing to ensure SHA-512 hashes are updated correctly.

Changes

Cohort / File(s) Summary
Version Bump (3.7.0 → 3.7.1)
bundles/com.espressif.idf.branding/META-INF/MANIFEST.MF, features/com.espressif.idf.feature/feature.xml, releng/com.espressif.idf.configuration/pom.xml, releng/com.espressif.idf.product/idf.product
Updated Bundle-Version and feature/product versions from 3.7.0.qualifier to 3.7.1.qualifier; updated espressif-ide-release-version property to 3.7.1
CI Workflow
.github/workflows/ci_release.yml
Added new macOS build step "Regenerate P2 metadata after signing" to run Maven Tycho fix-artifacts-metadata goal after signature verification, with path-specific and auto-detect fallback invocations

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

  • Most changes are homogeneous version bumps applied consistently across multiple files
  • CI workflow step addition is straightforward single-step configuration
  • Verify version consistency across all four version files and correct Maven goal invocation in workflow step

Possibly related PRs

  • #1280: Modifies the same CI workflow file (.github/workflows/ci_release.yml) with related release pipeline updates
  • #1099: Performs identical version bump pattern across the same manifest, feature, pom, and product files
  • #1238: Updates the same version-related fields in bundle manifest, feature, releng pom, and product file

Suggested reviewers

  • alirana01
  • AndriiFilippov

Poem

🐰 A version hops from seven-oh to seven-one,
Metadata dances after signing's done,
P2 repos now reflect the cryptographic truth,
With Maven's magic touch and Tycho's sooth! ✨

Pre-merge checks and finishing touches

❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Title check ❓ Inconclusive The title 'v3.7.1' is vague and does not clearly describe the primary change; it only indicates a version bump without explaining what was actually modified or why. Consider using a more descriptive title like 'Release v3.7.1: Update version numbers and regenerate P2 metadata' to better communicate the changeset purpose.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch v470

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (1)
.github/workflows/ci_release.yml (1)

118-128: Consider adding error handling for metadata regeneration failure.

If both the primary and fallback mvn commands fail, the workflow will continue silently (due to the || only covering the fallback attempt). Since P2 metadata integrity is critical for update sites, consider adding explicit failure handling.

           REPO_DIR="releng/com.espressif.idf.update/target/repository"
           
           echo "Updating P2 metadata for signed JARs in $REPO_DIR..."
-          mvn -f releng/com.espressif.idf.update/pom.xml \
+          if ! mvn -f releng/com.espressif.idf.update/pom.xml \
             org.eclipse.tycho:tycho-p2-repository-plugin:fix-artifacts-metadata \
             -DrepositoryPath="$REPO_DIR" \
-            -DskipTests=true || \
-          # Fallback: try without explicit path (auto-detect)
-          mvn -f releng/com.espressif.idf.update/pom.xml \
-            org.eclipse.tycho:tycho-p2-repository-plugin:fix-artifacts-metadata \
-            -DskipTests=true
+            -DskipTests=true; then
+            echo "Retrying without explicit repositoryPath..."
+            mvn -f releng/com.espressif.idf.update/pom.xml \
+              org.eclipse.tycho:tycho-p2-repository-plugin:fix-artifacts-metadata \
+              -DskipTests=true
+          fi
           
           echo "P2 metadata updated with correct hashes for signed JARs"
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a9e5768 and f9f0f69.

📒 Files selected for processing (5)
  • .github/workflows/ci_release.yml (1 hunks)
  • bundles/com.espressif.idf.branding/META-INF/MANIFEST.MF (1 hunks)
  • features/com.espressif.idf.feature/feature.xml (1 hunks)
  • releng/com.espressif.idf.configuration/pom.xml (1 hunks)
  • releng/com.espressif.idf.product/idf.product (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
  • GitHub Check: build_windows
  • GitHub Check: build_macos
  • GitHub Check: build
🔇 Additional comments (4)
bundles/com.espressif.idf.branding/META-INF/MANIFEST.MF (1)

5-5: Version bump looks correct.

The Bundle-Version update to 3.7.1.qualifier is consistent with the version changes across the other files in this PR (pom.xml, feature.xml, idf.product).

releng/com.espressif.idf.configuration/pom.xml (1)

13-13: Version property update is consistent.

The espressif-ide-release-version property update to 3.7.1 aligns with the version bumps in the manifest, feature, and product files.

releng/com.espressif.idf.product/idf.product (1)

4-4: Product version update is correct.

The product version 3.7.1 is consistent with the coordinated version bump across all project files.

features/com.espressif.idf.feature/feature.xml (1)

5-5: Feature version update is consistent.

The feature version 3.7.1.qualifier aligns with the bundle manifest and product version updates.

Comment on lines +111 to +130
- name: Regenerate P2 metadata after signing
env:
MAVEN_OPTS: "-Djdk.xml.maxGeneralEntitySizeLimit=0 -Djdk.xml.maxParameterEntitySizeLimit=0 -Djdk.xml.totalEntitySizeLimit=0 -Djdk.xml.entityExpansionLimit=0"
run: |
# Regenerate P2 metadata to update hashes for signed JARs
# This ensures the SHA-512 hashes in metadata match the signed JAR files
# Use Tycho's fix-artifacts-metadata goal to update metadata without rebuilding artifacts
REPO_DIR="releng/com.espressif.idf.update/target/repository"

echo "Updating P2 metadata for signed JARs in $REPO_DIR..."
mvn -f releng/com.espressif.idf.update/pom.xml \
org.eclipse.tycho:tycho-p2-repository-plugin:fix-artifacts-metadata \
-DrepositoryPath="$REPO_DIR" \
-DskipTests=true || \
# Fallback: try without explicit path (auto-detect)
mvn -f releng/com.espressif.idf.update/pom.xml \
org.eclipse.tycho:tycho-p2-repository-plugin:fix-artifacts-metadata \
-DskipTests=true

echo "P2 metadata updated with correct hashes for signed JARs"
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Good addition for P2 metadata integrity, but the fallback logic has a shell syntax issue.

The step correctly addresses the need to update P2 repository hashes after JAR signing. However, the shell comment on line 125 placed between || \ and the fallback command will cause issues. In bash, \ continues to the next physical line, which would make the comment part of the command syntax.

Apply this diff to fix the syntax:

           mvn -f releng/com.espressif.idf.update/pom.xml \
             org.eclipse.tycho:tycho-p2-repository-plugin:fix-artifacts-metadata \
             -DrepositoryPath="$REPO_DIR" \
-            -DskipTests=true || \
-          # Fallback: try without explicit path (auto-detect)
-          mvn -f releng/com.espressif.idf.update/pom.xml \
+            -DskipTests=true || \
+          mvn -f releng/com.espressif.idf.update/pom.xml \
             org.eclipse.tycho:tycho-p2-repository-plugin:fix-artifacts-metadata \
             -DskipTests=true

Move the comment above the entire block or remove it, as it cannot be placed within the || continuation.

Committable suggestion skipped: line range outside the PR's diff.

🤖 Prompt for AI Agents
.github/workflows/ci_release.yml around lines 111 to 130: a shell syntax error
is caused by placing a comment between the line-continuation backslash and the
fallback command after `|| \`; move the comment out of the continuation (either
remove it or place it above the mvn block) so the `||` fallback is a valid shell
construct and ensure the fallback mvn command is on the next physical line
without an intervening comment.

@kolipakakondal kolipakakondal merged commit 3c041c3 into master Dec 8, 2025
6 checks passed
@kolipakakondal kolipakakondal deleted the v470 branch December 10, 2025 08:57
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