-
-
Notifications
You must be signed in to change notification settings - Fork 251
Remove 32bit builds #1000
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
base: main
Are you sure you want to change the base?
Remove 32bit builds #1000
Conversation
WalkthroughThe workflows remove linux/arm/v7 from Docker publish matrices across hardened, rootless, and standard pipelines. The GoReleaser config drops 386 and arm builds, removes related ignore rules and dynamic tags, and simplifies archive naming. No application code changes; only CI/release configuration adjustments. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
participant Dev as Maintainer
participant GH as GitHub Actions
participant MX as Matrix (platforms)
participant BJ as Build Job(s)
participant REG as Docker Registry
Dev->>GH: Push tag / workflow dispatch
GH->>MX: Generate platform matrix
Note over MX: Platforms: linux/amd64, linux/arm64<br/>[linux/arm/v7 removed]
MX-->>BJ: Spawn jobs per platform
rect rgb(235, 245, 255)
BJ->>REG: Build & push images per platform
end
GH-->>Dev: Report digests/artifacts
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Suggested labels
Security recommendations
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✨ Finishing touches🧪 Generate unit tests
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (4)
💤 Files with no reviewable changes (4)
⏰ 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). (8)
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. Comment |
Deploying homebox-docs with
|
| Latest commit: |
c70005a
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://3fab7600.homebox-docs.pages.dev |
| Branch Preview URL: | https://mk-kill-32-bit.homebox-docs.pages.dev |
|
@coderabbitai review full |
|
@tankerkiller125, I'll conduct a full review of this PR that removes 32-bit builds across all architectures. Based on the comprehensive context you've provided, this appears to be a well-reasoned decision given the industry-wide trend away from 32-bit architectures. The rationale covers CPU manufacturers, operating systems, and practical considerations like build times and testing capabilities. For security considerations: Dropping 32-bit support actually improves the security posture by:
I'll review all the changes to ensure the 32-bit removal is comprehensive and doesn't introduce any issues. ✅ Actions performedFull review triggered. |
What type of PR is this?
What this PR does / why we need it:
This PR drops 32 bit builds entirely (docker, binary, etc.) for all CPU architectures (ARM, x86, etc.)
Context
For some context as to why we would do this, there's quite a bit of background.
CPUs Manufacturers
OSes
Applications
Our Own Things
We've regularly encountered some issues with building for 32 bit architectures, especially just builds taking a very long time to complete, resulting in slower than planned release build times. We also don't test on any 32 bit architectures, so any bugs caused by 32 bit we don't know about, and we really don't have a way to test short of spinning up a 32 bit VM (with who knows what OS)
Additionally, of those with
HBOX_OPTIONS_ALLOW_ANALYTICS=truethere is maybe one user of a 32bit architecture system. (As a reminder, our analytics are always open to view https://homebox.software/en/analytics/ )Some Final Thoughts on Our End
32 bit doesn't really take extra effort on a day to day for us, Golang cross-compiles to 32 bit pretty well and Javascript just doesn't care. However, it does eat up time during releases (time we could be using to help people upgrade, or work on bug fixes), and it does eat up time during PR tests and builds.
We also have zero way to validate and test against 32 bit CPUs, Github doesn't have 32 bit Action Runners, and emulating inside Github Actions is a royal PITA (and very slow). Which means that there could be some major bugs in 32 bit builds we've never seen, and never will see in our regular development efforts.
Dropping 32 bit seems like a good way forward to speed up release times a bit, and prevent bug reports for things we'll never be able to replicate. You will of course always be able to download the sources of Homebox and build it for 32 bit if you so choosed.
Summary by CodeRabbit