Skip to content

Conversation

@kolipakakondal
Copy link
Collaborator

@kolipakakondal kolipakakondal commented Dec 18, 2025

Description

Add linux arm64 builds to release builds and publish them to aws

Fixes # (IEP-1670)

Type of change

  • Bug fix (non-breaking change which fixes an issue)

How has this been tested?

Test Configuration:

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

Dependent components impacted by this PR:

  • linux arm64 build

Checklist

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

Summary by CodeRabbit

  • Chores
    • Added Linux ARM64 architecture support to the release pipeline.
    • Enhanced artifact handling, verification, and distribution processes.

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

@coderabbitai
Copy link

coderabbitai bot commented Dec 18, 2025

Walkthrough

The pull request adds Linux arm64 artifact support to the CI release workflow. It introduces steps to download and upload arm64 artifacts, incorporates them into artifact verification routines, and configures S3 upload and public redirect handling for the new architecture.

Changes

Cohort / File(s) Summary
CI Release Workflow
​.github/workflows/ci_release.yml
Added Linux arm64 artifact download/upload steps; expanded artifact verification and listing to include arm64; configured S3 upload paths and public redirects for arm64 builds; integrated arm64 artifacts into final manifests and website redirects.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Single file modification with homogeneous, pattern-based additions
  • New steps follow existing x86 artifact handling conventions
  • Verify S3 paths and redirect configurations are correctly aligned with other architectures

Possibly related PRs

  • Fix ci release #1247: Modifies ci_release.yml to adjust Linux artifact upload and S3 redirect handling for IDE paths.
  • Fix ci release #1248: Updates ci_release.yml for S3 artifact uploads and redirect logic with refactored variable usage.
  • Fix ci release #1249: Extends ci_release.yml with file-listing debug steps and Linux artifact upload path adjustments.

Suggested reviewers

  • alirana01
  • sigmaaa

Poem

🐰 A rabbit hops with glee,
New arm64 paths are flowing free!
To S3 they venture with care,
Redirects blooming everywhere,
Multi-arch builds dancing in the air! ✨

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: adding Linux arm64 builds to the release pipeline and publishing them to AWS, which aligns with the changeset modifications to ci_release.yml.
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 IEP-1670

📜 Recent review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 51ab80e and d911efc.

📒 Files selected for processing (1)
  • .github/workflows/ci_release.yml (5 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_linux
  • GitHub Check: build_macos
🔇 Additional comments (5)
.github/workflows/ci_release.yml (5)

354-359: LGTM!

The download step correctly references the artifact name and follows the established pattern for other architectures.


419-419: LGTM!

The debug listing for Linux arm64 artifacts is properly included alongside other platform artifacts.


441-441: LGTM, but consider expanding CloudFront cache invalidation.

The S3 upload command is correct and consistent with other platform uploads. However, note that the CloudFront invalidation on line 446 only invalidates the /updates/ path, not the /ide/ path where IDE binaries are uploaded. This might cause users to receive cached versions of IDE downloads.

Consider whether the CloudFront invalidation should also include the ide path:

 aws cloudfront create-invalidation --distribution-id ${{ secrets.DL_DISTRIBUTION_ID }} --paths "/dl/idf-eclipse-plugin/updates/$UPLOAD_PATH/*"
+aws cloudfront create-invalidation --distribution-id ${{ secrets.DL_DISTRIBUTION_ID }} --paths "/dl/idf-eclipse-plugin/ide/*"

Or verify that the current cache policy for the ide path is appropriate for new releases.


456-456: LGTM!

The S3 redirect configuration is correct and follows the established pattern for other architectures. The path construction and redirect location are properly configured to support both latest and beta release channels.


238-243: Upload step is correct. The Maven build configuration explicitly includes Linux GTK aarch64 as a target environment, confirming the Espressif-IDE-*-linux.gtk.aarch64.tar.gz artifact will be produced and available for upload.


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.

@kolipakakondal kolipakakondal added this to the v4.0.1 milestone Dec 18, 2025
Copy link
Collaborator

@sigmaaa sigmaaa left a comment

Choose a reason for hiding this comment

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

LGTM

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.

3 participants