GithubHelp home page GithubHelp logo

Comments (15)

a7ex avatar a7ex commented on July 20, 2024 1

from xcresultparser.

a7ex avatar a7ex commented on July 20, 2024

Hi Isaac,
I tried to create the binary in the GitHub action, but the problem is that it is not notarised and therefore is not really safe to run on a different machine.
Last time I tried notarising another app I was not very successful.
Do you have any hints?

from xcresultparser.

hisaac avatar hisaac commented on July 20, 2024

I don't know offhand, but I can do some googling. Looks like you've added a new GitHub workflow, so maybe you've figured it out? Let me know if you ned any help testing.

from xcresultparser.

a7ex avatar a7ex commented on July 20, 2024

The actions have attachments. The attachment is the binary. You can try those. They are not notarised and thus from "an unknown source". Not exactly, what I would want to publish.
Therefore I distribute it as source and brew takes care of the rest.
We use brew in our buildchains. Why can't you download and build from source or have brew handle that for you?

from xcresultparser.

hisaac avatar hisaac commented on July 20, 2024

Gotcha, I'll do some experimentation on my fork and see if I can come up with something workable.

As for using brew, for our build system, I prefer to download specific versions of our tools so we know exactly what we're getting. brew doesn't allow for that, unfortunately. That'd make life way easier.

from xcresultparser.

hisaac avatar hisaac commented on July 20, 2024

ok, I did a bit of a deep-dive on this notarization thing, and have learned some interesting information!

So when you download a binary using a browser, the browser adds "quarantine flags" to the item, which tells macOS that the user has to explicitly approve running it, hence the "an unknown source" popup.

BUT, there are a few workarounds:

  1. If you download the item using curl or wget or similar, it does not set those quarantine flags.
  2. If the item being downloaded is a tarball — .tar, .tar.gz, .tar.xz, etc. — unarchiving that using the tar binary strips off the quarantine flags.
  3. You can explicitly remove the quarantine flags after downloading by running the following command:
    xattr -rd com.apple.quarantine "/path/to/xcresultparser"

All that said, perhaps a good way forward would be to archive the binary as a tarball for the release artifacts, and add a note to the README summarizing what I've got above. What do you think? I'm interested enough to do said work if you're open to the change.

from xcresultparser.

hisaac avatar hisaac commented on July 20, 2024

Also, side note, I'd recommend also archiving the Actions artifacts prior to uploading them. The upload-artifact action has an annoying side effect of stripping some data from the files, namely in this case, the binaries executable permissions — as in, you have to chmod +x xcresultparser the downloaded binary.

The suggested workaround is to archive as a tarball prior to uploading.

from xcresultparser.

hisaac avatar hisaac commented on July 20, 2024

I see you got it notarized! Even better! 🙌

Can I ask how you did it? I couldn't figure it out from my googling around.

from xcresultparser.

a7ex avatar a7ex commented on July 20, 2024

from xcresultparser.

hisaac avatar hisaac commented on July 20, 2024

Oh I don't see the shell script 🤔

from xcresultparser.

a7ex avatar a7ex commented on July 20, 2024

from xcresultparser.

hisaac avatar hisaac commented on July 20, 2024

This is awesome! Thank you, and great work!

from xcresultparser.

a7ex avatar a7ex commented on July 20, 2024

from xcresultparser.

hisaac avatar hisaac commented on July 20, 2024

Nice, we're using it in a similar fashion. We're now pre-converting our code coverage from .xcresult to Cobertura XML before sending it to Codecov. Codecov does do the conversion for us if we just sent the .xcresult, but it's way slower than doing it ahead of time using xcresultparser. 🚀

from xcresultparser.

a7ex avatar a7ex commented on July 20, 2024

from xcresultparser.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.