Skip to content

Add macOS ARM 64-bit build target #409

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

Merged
merged 5 commits into from
Jul 1, 2022
Merged

Add macOS ARM 64-bit build target #409

merged 5 commits into from
Jul 1, 2022

Conversation

per1234
Copy link
Contributor

@per1234 per1234 commented Jun 30, 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 individual commit messages).


Demos from my fork (using my personal "Apple Developer ID" certificate for signing and notarization):


Related: #348

per1234 added 5 commits June 30, 2022 03:56
Even though these links were still reaching the intended page, it is best not to rely on redirects continuing to work
indefinitely.
It is often necessary to escape the newline for continuation when breaking shell commands into multiple lines for
readability. However, if a line break occurs in a shell command in an unterminated command, the continuation is implicit.

The escaping in these shell commands was unnecessary and only made them a bit more cryptic, since the brackets already
clearly indicate the structure
The 3.2.0 is already outdated, but this version has been well tested and used for some time in other projects. So this
is intended to at least bring all the workflows into sync.
A copy/paste error resulted in the same folder name being used for the Linux ARM 64-bit build as for the Linux ARM v6
build. Although that did not cause any noticeable problems in this project's usage, it can in others. For example:

```
mkdir: cannot create directory ‘serial-monitor_linux_arm_6’: File exists
task: Failed to run task "dist:all": task: Failed to run task "dist:Linux_ARM64": exit status 1
```

It also causes an unexpected structure in the "dist" output, which is not typically used for anything, but might still
cause confusion during unrelated development or troubleshooting.
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.
@per1234 per1234 added type: enhancement Proposed improvement topic: infrastructure Related to project infrastructure architecture: arm Specific to ARM host architecture os: macos Specific to macOS operating system labels Jun 30, 2022
@per1234 per1234 requested a review from umbynos June 30, 2022 17:47
@per1234 per1234 self-assigned this Jun 30, 2022
@per1234
Copy link
Contributor Author

per1234 commented Jun 30, 2022

The link checks are expected to fail:

  • Nightly build download link will start working after the first "Publish Nightly Build" workflow run following the merge of this PR.
  • Release download link will start working after the first release made after the merge of this PR (which will happen soon)

@per1234 per1234 merged commit f94f07e into arduino:main Jul 1, 2022
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