-
Notifications
You must be signed in to change notification settings - Fork 155
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 darwin arm64 #326
base: master
Are you sure you want to change the base?
Add darwin arm64 #326
Conversation
d55bf48
to
8629c68
Compare
3071cd0
to
4b04b99
Compare
scripts/download_chromium.js
Outdated
// follow symlinks, dereference symlinks and copy them as files | ||
child_process.execSync(`cp -LR ${execPath} ${outputPath}`); | ||
|
||
const dsStore = '.DS_Store' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the problem with .DS_Store
files (https://en.wikipedia.org/wiki/.DS_Store) is the last one we need to solve before we can add the darwin-arm64
target.
Lets say we are packaging a plugin with the following structure in CI:
- bestImageRendererPlugin
- executable
- someFile.jpg
- folder/
- someFile.png
During the build, we are creating a manifest file with the list of all files & their checksums. However, when the built package is installed on an M1 Mac, the OS automagically adds .DS_Store
files in every folder:
- bestImageRendererPlugin
- .DS_Store
- executable
- someFile.jpg
- folder/
- .DS_Store
- someFile.png
I tried creating empty DS_Store
files in all the right places in the CI in hopes that the OS wouldn't replace them, but that did not work - they were replaced and the checksum verification failed.
I don't know why this problem occurs only on M1 macs, nor how to deal with it except for explicitly ignoring DS_Store
files when creating & verifying the manifest. cc @AgnesToulet
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
After solving the problem described above with this grafana PR I ran into another one - binary signing requirement
Looks like we will need to spin up a mac 😅
Mac arm64 support is experimental (https://github.com/vercel/pkg#targets) so the plugin might have some bugs. Tested locally-built plugin with dashboard previews crawler & panel renderer
CI-built plugin doesn't work because Macos automatically creates/recreates
.DS_Store
files and it messes up with the signature