-
Notifications
You must be signed in to change notification settings - Fork 331
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
Make CI cross-compile lf for every supported platform; support darwin-arm64 #1298
Conversation
4b6e624
to
580e433
Compare
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.
Thanks for working on this, apart from #1288, this would have also caught the df
errors introduced in #1168 that broke the build for a few platforms when releasing r29
.
BTW I happened to be playing around with this myself, you can have a look at my version and see if you want to salvage from there.
Thank you for looking this over! It's past my bedtime; I'll look at your version and your other comments at some later point. 🌃💤 Update: I did glance at your version. I like the function you call repeatedly much better than my |
BTW I forgot to mention but you may also want to run this through |
c693e24
to
2f9610b
Compare
OK, I updated this and borrowed quite a few of your ideas. Thank you very much! I am also a fan of |
fae2cfc
to
69f77ed
Compare
I added one more commit making the script a little more complex but decreasing repetition. Let me know if I should get rid of it. |
…ossible This reworks the gen/xbuild.sh script to exit with a failure if any of the targets don't compile. It also adds a CI job to try cross-compiling for every platform on every pull request. The new check is a little slow and compute-expensive, but I am hoping it's well within the quota. See gokcehan#1299 for a demo of how the CI would have failed after gokcehan#1288 and before gokcehan#1295. Screenshot: https://github.com/gokcehan/lf/assets/4123047/3d7a6b7c-8642-4d4c-a98a-c8b886c0b184 Thanks to @joelim-work for numerous improvements and an alternate implementation I heavily borrowed from (https://github.com/joelim-work/lf/blob/ci/gen/xbuild.sh)
e8787c4
to
49b9aad
Compare
I can remove this commit if people prefer.
Arm Macs are becoming popular. We have at least one user: gokcehan#1294. It seems lf works fine there.
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.
I think the changes are OK, but it's probably best to have @gokcehan look at this as a secondary reviewer. Shell scripts are notorious for being error prone and subject to stylistic preferences.
Thanks once again for the changes!
Thanks @ilyagr for the patch and @joelim-work for the review. I wasn't sure about the additional computation that comes with cross compiling but I guess this is getting necessary these days. I found the quotes for github actions here and it says:
So hopefully it wouldn't be a problem since this is a public repo. The only disadvantage might be the additional delay for each change but I think that is acceptable. |
This reworks the
gen/xbuild.sh
script to exit with a failure if any of the targets don't compile. It also adds a CI job to try cross-compiling for every platform on every pull request.The new check is a little slow and compute-expensive, but I am hoping it's well within the quota.
See #1299 for a demo of how the CI would have failed after #1288 and before #1295.
Example of a specific CI failure for #1299:
Also added support for
darwin-arm64
, as that has at least one user and it seems to work fine.