codecov-browser-extension
codecov-browser-extension copied to clipboard
Configure Safari Extension in Apple Developer account
Set up the extension in the Apple developer account, so we can push versions of the extension from our GHA.
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 thesafari-web-extension-converterbinary was not in myPATH, but you can add it or point to the binary explicitlyXcode.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.