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 darwin arm64 #326

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from
Draft

Add darwin arm64 #326

wants to merge 2 commits into from

Conversation

ArturWierzbicki
Copy link
Contributor

@ArturWierzbicki ArturWierzbicki commented Feb 23, 2022

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

Base automatically changed from replace-sharp-with-jimp to master February 23, 2022 10:51
// follow symlinks, dereference symlinks and copy them as files
child_process.execSync(`cp -LR ${execPath} ${outputPath}`);

const dsStore = '.DS_Store'
Copy link
Contributor Author

@ArturWierzbicki ArturWierzbicki Mar 15, 2022

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

Copy link
Contributor Author

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
image

Looks like we will need to spin up a mac 😅

@CLAassistant
Copy link

CLAassistant commented Jun 15, 2022

CLA assistant check
All committers have signed the CLA.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants