-
Notifications
You must be signed in to change notification settings - Fork 452
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
WIP: Add CD support for Aarch64/ARM64 #653
Conversation
Thank you very much! I did try it out myself as well but failed miserably :) |
Did some reading: it turns out GH cancels all jobs when one of them fails. Unless you set |
Ye sure I can. Might be a good idea to make all the compilation of the binaries fail fast false later on as well |
In the meanwhile, I'm hunting down the actual reason one of the jobs got cancelled. Until now, the culprit was my tagging/pushing behaviour (did some wrong assumptions) but not the code. But it is still building. |
My trimmed down CD actually builds, releases and uploads when doing it right:
Grab some coffee, and eventually the release appears. Now rebuilding using the full CD. |
aarch64 + full breaks with: |
I got it working, it's quite easy when you look at armhf + full. I'm doing a test run of all combinations. If that works, I'd like to do some additional changes if you like:
@sirwindfield : what's your opinion on this? |
There is already a PR open that changes the workflow files: #610. It changes the naming of the binaries and their feature set to be a little bit more useful. The linked issue describes it. I'd love to have this PR follow the naming of them as well. Tl;dr: If you would be OK with it, I'd say we wait till the author of the linked PR writes back whether the changed workflow files do build successfully. I am rather limited on time right now. If you want and have time, you could probably fork his fork and see if it builds with a dummy tag. If that is the case, I'ld merge PR #610 and we could continue with this PR afterwards. Is that OK with you? The changes proposes are nice and I like them. However, implementing them right now would mean that we have to do two refactors. By merging #610 we just need one :) |
Sounds great to me, if someone is already putting in the effort, I'll just focus on getting aarch64 to work. My objective is to have spotifyd running on my new board :) |
@jonkerj Great! I'll ping you once I know more about the other PR :) |
@jonkerj The PR has been merged so go ahead. |
Excellent, I'll work on it. It might take me a while, since testing is a bit iffy. |
No worries about time :) And thanks for tackling this one down :) |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
@jonkerj should we reopen this PR? as i think we still dont have arm64 CI |
I have been meaning to revamp the CI code, I have some ideas to unify most of the code (DRY) and make it much easier to build for new platforms. Tricky thing is, I need to put a couple of evenings into it, and the current covid/lockdown/homeschool situation makes it hard for me to sacrifice the little spare time I have left (sorry, I have more hobbys 😄 ). I promise I will get to it (have to build the recent releases on my aarch64 board anyway). If you would ask me, I would leave this WIP PR open and I'll rebase and amend it. If the maintainers want me to open a new one, it's fine with me. |
In the meanwhile, I've made some attempts to leverage multiarch to install the required cross-libs:
This seems to install the required libs. Still have to fix some errors about libc6 not properly configuring itself. I believe this approach is much cleaner than the almost similar per-arch stanza's in the current CD. |
I thought: might as well fix it myself, should not be too hard. I tested the CD myself and spotifyd built succesfully for aarch64. It was a bit fiddly to test, since I am very inexperienced with GitHub actions/workflows. Also, I had not set up tokens, so the actual publication failed. But the rust cross-build worked fine (when not auto cancelled by GH due to time limit).
Closes #280