Skip to content
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

Add support for aarch64 (ARM) Linux builds on GitHub Actions. #1346

Merged
merged 9 commits into from
Sep 30, 2021

Conversation

JulianGro
Copy link
Contributor

@JulianGro JulianGro commented Sep 16, 2021

This PR adds GitHub Actions builds for aarch64 Linux via a self-hosted runner.
Some infos about this:

  • WebRTC is disabled on this platform as it is basically impossible to build (there is an alternative though that I want to look into in the future)
  • Oculus and Steam support is disabled on this platform as they don't support it
  • VCPKG is going to throw some deprectation warnings as our port files cannot be updated without breaking the old VCPKG packages on all other platforms
  • I added an untested Debian 10 aarch64 Qt package as I already had it on hand (might allow building on Debian 10 aarch64)
  • Currently the self-hosted runner is set up in a way that the VCPKG cache and the installed apt packages stay available. This saves up to 40 minutes depending on how many cache hits VCPKG gets.

Goal of this is that we can make sure we don't somehow break Linux aarch64 building and we can work towards server and client builds in the future.

I am not sure if we want to do much testing here, as this doesn't really though anything non-aarch64-Linux.

@JulianGro JulianGro added CMake enhancement New feature or request linux This is related to Linux. needs CR (code review) needs testing (QA) The PR is ready for testing labels Sep 16, 2021
@digisomni digisomni added this to the 2021.2.0 Selene Release milestone Sep 16, 2021
Copy link
Contributor

@daleglass daleglass left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall looks great to me, just got a few minor comments :)

.github/workflows/pr_build.yml Outdated Show resolved Hide resolved
.github/workflows/pr_build.yml Outdated Show resolved Hide resolved

if u_major == 10:
#self.qtUrl = self.assets_url + '/dependencies/vcpkg/qt5-install-5.12.3-ubuntu-16.04-with-symbols.tar.gz'
self.__no_qt_package_error()
self.qtUrl = 'https://data.moto9000.moe/vircadia_packages/qt5-install-5.15.2-debian-10-aarch64.tar.xz'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be replaced with an URL to the official bucket, I think this file should already be there.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The package is completely untested, which is why I left it.
Right now you cannot actually build on Debian Buster because I built VCPKG on a newer system.

@digisomni digisomni changed the title Add aarch64 Linux GHA builds Add aarch64 Linux GHA builds. Sep 23, 2021
@daleglass
Copy link
Contributor

Something slightly weird is going on. macOS-latest failed to download a file, but it seems to exist. I figure a transient error.

Also, the self-hosted build has been trying to start for 2 hours now.

@daleglass daleglass added CR Approved At least one code reviewer has approved the PR. and removed needs CR (code review) labels Sep 25, 2021
@JulianGro
Copy link
Contributor Author

Yeah it seems I have some troubleshooting to do there. The runner is up but the job just isn't starting.

@JulianGro
Copy link
Contributor Author

Apparently the automatic update was failing and the software was just eternally restarting.
I modified it so I can see what is going on now when it is running as a service.

@JulianGro
Copy link
Contributor Author

Apparently the broken auto update is an issue on GitHubs side actions/runner#246
I get a notification when an update gets released, so I will keep an eye on the runner whenever that happens. Obviously if someone notices the runner behaving weird, just hit me up on Discord.

@JulianGro JulianGro removed the needs testing (QA) The PR is ready for testing label Sep 27, 2021
@digisomni digisomni merged commit c87006c into vircadia:master Sep 30, 2021
@digisomni digisomni changed the title Add aarch64 Linux GHA builds. Add support for aarch64 (ARM) Linux builds on GitHub Actions. Sep 30, 2021
@JulianGro JulianGro deleted the aarch64_gha branch October 2, 2021 06:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CMake CR Approved At least one code reviewer has approved the PR. enhancement New feature or request linux This is related to Linux.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants