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 macos arm64 build #144

Merged
merged 8 commits into from
Jul 4, 2022
Merged

Conversation

umbynos
Copy link
Contributor

@umbynos umbynos commented Jul 1, 2022

Previously, the only macOS build of the application was for x86-64 host architecture.

That build was also compatible for use on Apple M1 based machines via Rosetta 2 translation. However, a native ARM 64-bit build is optimum for use on these machines.


This brings the standardized build assets fully up to date with the canonical upstream copies, which includes some changes unrelated to the macOS ARM 64-bit build (details provided in the commit messages).


Demos from my fork:

- add macos arm64
- differentiate linux arm into linux armv6, and linux armv7
@umbynos umbynos added type: enhancement Proposed improvement os: macos Specific to macOS operating system architecture: arm Specific to ARM host architecture topic: infrastructure Related to project infrastructure labels Jul 1, 2022
@umbynos umbynos requested a review from per1234 July 1, 2022 14:12
@umbynos umbynos self-assigned this Jul 1, 2022
# See: https://github.com/actions/setup-go/tree/v2#readme
GO_VERSION: ^1.16.2
# See: https://github.com/actions/setup-go/tree/main#supported-version-syntax
GO_VERSION: "1.17"
Copy link
Contributor

Choose a reason for hiding this comment

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

I think this change should be made universally throughout the project infrastructure:

Copy link
Contributor Author

Choose a reason for hiding this comment

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

should we do it in another PR?

Copy link
Contributor

Choose a reason for hiding this comment

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

I think that is a good idea, since it is a significant change not directly related to the purpose of this PR. If you do that, I would recommend leaving this workflow and .github/workflows/publish-go-tester-task.yml at their previous Go ^1.16.2 version since I don't think it is beneficial to introduce even greater inconsistency in the versions used throughout the project's infrastructure.

- add macos arm64
- differentiate linux arm into linux armv6, and linux armv7
- bump version of GO to 1.17
- bump upload/artifact action from 2 to 3
- add checksum upload
- remove unnecessary line continuation escaping from workflow
- add macos arm64
- differentiate linux arm into linux armv6, and linux armv7
- bump version of GO to 1.17
- bump upload/artifact action from 2 to 3
- add checksum upload
- remove unnecessary line continuation escaping from workflow
- rename workflow
- remove `gon.config.hcl` since now is hardcoded in the workflow
Copy link
Contributor

@per1234 per1234 left a comment

Choose a reason for hiding this comment

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

Excellent work Umberto!

In addition to the awesomeness of having a new host architecture build target, I think the infrastructure standardization done here will be very beneficial for project maintenance efficiency.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
architecture: arm Specific to ARM host architecture os: macos Specific to macOS operating system topic: infrastructure Related to project infrastructure type: enhancement Proposed improvement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants