codecov-browser-extension icon indicating copy to clipboard operation
codecov-browser-extension copied to clipboard

Configure Safari Extension in Apple Developer account

Open spalmurray-codecov opened this issue 1 year ago • 1 comments

Set up the extension in the Apple developer account, so we can push versions of the extension from our GHA.

spalmurray-codecov avatar Sep 23 '24 19:09 spalmurray-codecov

Deprioritizing this for now, but here's some context from my time working on this:

  • This is a pain.
  • To convert the extension, from the root of the project, run xcrun safari-web-extension-converter ./dist --app-name Codecov --bundle-identifier com.codecov.codecov-extension --macos-only --force (note for me the safari-web-extension-converter binary was not in my PATH, but you can add it or point to the binary explicitly Xcode.app/Contents/Developer/usr/bin/safari-web-extension-converter).
  • Safari's implementation of browser APIs can be different. In particular I found an issue with access to cookies not working as in chrome/ff which meant you needed to use a Codecov API key with the extension. The alternative auth method of reusing the session cookie didn't work and I couldn't figure out how to get it working, but API key is preferable anyway so not big deal.
  • The archive signing and verification was a pain. Make sure you're on the latest version of Xcode. Make sure to go through the settings for each 'component' and set everything up how you want it.
  • CI/CD is a big question mark. In theory you can use a macos runner and the converter script, but idk how signing and uploading will work. The limited research I did into this revealed this is a pain. It may be easier to use the Xcode cloud stuff and hook up to the repo, seems like that route can achieve this also. My initial plan was to just manually cut releases 😂
  • This is a pain.

spalmurray-codecov avatar Mar 17 '25 12:03 spalmurray-codecov