Skip to content

Drop support for armhf, armv7, and i386 systems#353

Merged
frenck merged 1 commit intomainfrom
frenck-2025-0519
Nov 16, 2025
Merged

Drop support for armhf, armv7, and i386 systems#353
frenck merged 1 commit intomainfrom
frenck-2025-0519

Conversation

@frenck
Copy link
Copy Markdown
Member

@frenck frenck commented Nov 16, 2025

Proposed Changes

The Home Assistant project has deprecated support for the armv7, armhf and i386 architectures. Support wil be fully dropped in the upcoming Home Assistant 2025.12 release.

This PR drop support for it from our base images.

../Frenck

                       

Blogging my personal ramblings at frenck.dev

Summary by CodeRabbit

  • Chores
    • Removed support for armhf, armv7, and i386 architectures. The application now only supports aarch64 and amd64 architectures.

@frenck frenck added the breaking-change A breaking change for existing users. label Nov 16, 2025
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Nov 16, 2025

Walkthrough

The pull request removes support for three CPU architectures (armhf, armv7, i386) across the project. Support is narrowed to aarch64 and amd64 only. This change is reflected in configuration files, Docker build logic, and documentation.

Changes

Cohort / File(s) Change Summary
Configuration Updates
\.github/renovate.json, base/build.yaml, base/config.yaml
Removed armhf, armv7, and i386 architecture entries from Renovate regex pattern, build_from mapping, and architecture list. Architectures reduced to aarch64 and amd64.
Docker Build Logic
base/Dockerfile
Simplified S6 overlay architecture mapping from multi-branch conditional (i386 → i686, amd64 → x86_64, armv7 → arm) to single mapping (amd64 → x86_64). Other architectures now pass through unaltered.
Documentation
README.md
Removed architecture shield badges (armhf, armv7, i386) from top section and shields list. No functional impact.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • base/Dockerfile: Verify that simplifying the S6 overlay mapping logic doesn't introduce runtime issues for remaining architectures (aarch64, amd64).
  • Consistency check: Confirm that all references to removed architectures (armhf, armv7, i386) have been removed across all relevant configuration files.

Poem

🐰 Hoppy paths now streamlined and neat,
Five become two, a simpler fleet,
ARM branches trimmed with careful shears,
Focus crystallized through the years!

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 clearly and specifically describes the main objective of the changeset: dropping support for three architectures (armhf, armv7, i386) across multiple configuration and Docker files.
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 frenck-2025-0519

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.

@frenck frenck merged commit b4291d1 into main Nov 16, 2025
20 checks passed
@frenck frenck deleted the frenck-2025-0519 branch November 16, 2025 10:06
Copy link
Copy Markdown

@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: 0

🧹 Nitpick comments (1)
base/Dockerfile (1)

51-52: Consider defensive handling for unexpected BUILD_ARCH values.

Currently, if an unexpected BUILD_ARCH value is passed (e.g., due to misconfiguration or typo), S6_ARCH will use the unrecognized value as-is, potentially causing a failed download. A defensive fallback or explicit validation could improve robustness.

If you'd like to add explicit error handling, you could update the logic to:

  && S6_ARCH="${BUILD_ARCH}" \
- && if [ "${BUILD_ARCH}" = "amd64" ]; then S6_ARCH="x86_64"; fi \
+ && if [ "${BUILD_ARCH}" = "amd64" ]; then S6_ARCH="x86_64"; elif [ "${BUILD_ARCH}" = "aarch64" ]; then S6_ARCH="aarch64"; else echo "Unsupported BUILD_ARCH: ${BUILD_ARCH}" >&2 && exit 1; fi \

This ensures only supported architectures proceed and provides clear error messaging during build failures.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a337385 and acad516.

📒 Files selected for processing (5)
  • .github/renovate.json (1 hunks)
  • README.md (0 hunks)
  • base/Dockerfile (1 hunks)
  • base/build.yaml (0 hunks)
  • base/config.yaml (0 hunks)
💤 Files with no reviewable changes (3)
  • base/config.yaml
  • base/build.yaml
  • README.md
🔇 Additional comments (2)
.github/renovate.json (1)

16-16: Architecture support correctly narrowed in Renovate configuration.

The regex pattern is correctly scoped to only monitor aarch64 and amd64 builds, eliminating dependency update noise for the dropped architectures. This aligns with concurrent removal of armhf, armv7, and i386 from the build configuration.

base/Dockerfile (1)

51-52: S6 overlay architecture mapping correctly simplified and verified.

The conditional now only remaps amd64 to x86_64 (as required by s6-overlay release artifacts), while aarch64 uses the native BUILD_ARCH value. Verification confirms that s6-overlay v3.2.1.0 provides release artifacts for both x86_64 and aarch64, confirming the change is sound.

@github-actions github-actions bot locked and limited conversation to collaborators Nov 18, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

breaking-change A breaking change for existing users.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant