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

CI: Parallel Build / Cross Compilation #1169

Merged
merged 3 commits into from
Oct 4, 2023

Conversation

ElectricalBoy
Copy link
Contributor

@ElectricalBoy ElectricalBoy commented Sep 23, 2023

This PR adds:

@Alipoodle
Copy link
Member

From my initial review, I believe we might have some problems with not all platforms being supported within GitHub Actions.
To my knowledge ARM workers didn't appear to actually exist for GitHub?

MacOS ARM + Linux ARM didn't exist when I checked, and Linux doesn't allow for building for ARM on a x64 platform.
However with whatever method you're trying it appears to work 😄

@Alipoodle
Copy link
Member

I believe that we should also have this effect the publish GitHub Action as well.

However I've just seen that @NovusTheory recently removed the MacOS (Arm) support until there is a native support for it in Actions.

@Alipoodle Alipoodle added the Enhancement New feature or request label Sep 27, 2023
@NovusTheory
Copy link
Member

NovusTheory commented Sep 27, 2023

However I've just seen that @NovusTheory recently removed the MacOS (Arm) support until there is a native support for it in Actions.

@Alipoodle Having arm64 specified would still produce a build successfully though I believe running it would just leave it being damaged (refer to macOS). That's why I stripped out the macOS from publish so we're not publishing broken builds on releases. I'm perfectly fine with the CI having them though for commit push builds. I'd say leave this out of the publish workflow for now

@ElectricalBoy
Copy link
Contributor Author

ElectricalBoy commented Sep 29, 2023

To my knowledge ARM workers didn't appear to actually exist for GitHub?

That is a no (i.e., all GitHub-hosted runners are x64 ATM) - although GH Actions could be set up and run on self-hosted ARM64 runners.

I believe running it would just leave it being damaged (refer to macOS).

To my knowledge, ARM64 builds still can be generated on x64 runners via cross compilation. I have verified cross compilation working with Windows ARM64 (again, I have a Surface Pro X myself to test), and believe that this PR is generating macOS ARM64 and Linux ARM64 builds successfully. I tested the Linux ARM64 build and can verify it working, but I don't have a M1/M2 Mac to verify the Mac ARM64 build.

Copy link
Member

@NovusTheory NovusTheory left a comment

Choose a reason for hiding this comment

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

After looking into each binary I can confirm they all report the ARM architecture. I ran one of the linux builds on an old raspberry pi I have and it worked just fine. I'm going to mimic this workflow in the publish workflow and on next release it should contain every architecture.

Besides the architecture concerns I'm happy with the better build parallelization. Thank you

@NovusTheory NovusTheory changed the title CI: Parallel Build / Cross Compilation 👷 Better build parallelization Oct 4, 2023
@NovusTheory NovusTheory merged commit 3216010 into ytmdesktop:v2 Oct 4, 2023
6 checks passed
@NovusTheory NovusTheory changed the title 👷 Better build parallelization CI: Parallel Build / Cross Compilation Oct 4, 2023
@ElectricalBoy ElectricalBoy deleted the parallel-ci branch October 6, 2023 03:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants