Skip to content

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