-
-
Notifications
You must be signed in to change notification settings - Fork 4.3k
ci: get github ci to build arm64 linux deb and rpm release packages #7858
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?
Conversation
Reviewer's Guide by SourceryThis pull request modifies the GitHub Actions release workflow and the Debian package build script to enable building Arm64 Linux deb and rpm packages. No diagrams generated as the changes look simple and do not need a visual representation. File-Level Changes
Possibly linked issues
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey @nissimk - I've reviewed your changes - here's some feedback:
Overall Comments:
- Consider standardizing the package naming convention; the added architecture seems to use a double hyphen (
--${{ matrix.job.arch }}
) instead of a single one (e.g.,-linux-${{ matrix.job.arch }}
). - The
build_deb.sh
script could be made more robust by using a dedicated placeholder like[ARCHITECTURE]
in theDEBIAN/control
template file instead of replacing the alternative architecture string.
Here's what I looked at during the review
- 🟢 General issues: all looks good
- 🟢 Security: all looks good
- 🟢 Testing: all looks good
- 🟢 Complexity: all looks good
- 🟢 Documentation: all looks good
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
Hi @nissimk, could you add ARM64 support to the |
c9ec4c6
to
c775178
Compare
So this still is not building...I figured out how to run the actions in my fork, so I've been testing there: nissimk#2 The first issue was that the flutter-action was not working for aarch64. There's an issue here: subosito/flutter-action#345 with a workaround to use master instead of stable for the channel. I was trying to do that for just aarch64 but I couldn't figure that out so I just changed the channel to master for all architectures. Not sure what impact this has. The next issue that I haven't been able to get around is the install-action for cargo-make fails to find the installer for cargo-make on aarch64. I'm not sure how to work around this one without changing the action to manually installing the appropriate version of cargo-make or contributing to the install-action upstream repo. Do you have any suggestions of how to proceed? |
I have tried to set up Flutter on arm64 in GitHub Actions, but neither of my attempts worked. |
This is the first attempt to get GitHub ci to build release packages for Arm64 Linux. I tested the script on my Raspberry pi but I have not tested the .yml file changes. Please let me know if there are errors when trying to run the workflow in GitHub and I can fix them here.
addresses #7850
A couple of things to note:
I skip the AppImage build on Arm64 because the appImage repo seems to only have builds for amd64 architecture. I left in the alien call to convert the .Deb to an rpm, but I have not tested that.
when developing on arm architecture you get errors when trying to commit because the dev environment script downloads the amd64 binary of go-gitlint and puts it in the .githooks folder. I was able to solve this by building go-gitlint from source, but in case the ci does any git commits it's going to need to do this also when running on an Arm64 runner.
Summary by Sourcery
Add Arm64 Linux builds to the release CI workflow.
Build:
CI:
production-linux-arm64
).