Allow MinGW builds#189
Conversation
Swatinem
left a comment
There was a problem hiding this comment.
This looks very promising so far. I noted some things. If its not too much of a hassle, maybe add this to our CI matrix as well?
|
I'm not that experienced with the merging system of github, and it seems that some of my modifications here (sync of some files with master) makes the whole pull request quite messy, let me try to fix that before giving it another look ;) |
|
Alright, now it is cleaner. I'm now working on the CI implementation on another branch (https://github.com/Amphaal/sentry-native/blob/mingw_ci/azure-pipelines.yml / https://dev.azure.com/gvara/sentry-native/_build?definitionId=1&_a=summary), I'll commit here once I get a working run. |
|
@Swatinem Please check this CI report : https://dev.azure.com/gvara/sentry-native/_build/results?buildId=24&view=logs&j=cabecbaf-ef53-5b05-6522-b652bd51d68f&t=2ccb8d92-b2e3-55af-4ad2-88895670b330. I faced the same "issue" locally, which consists of passing tests but with an error in the output ! Is this expected and normal ? |
|
@Amphaal Azure gives me a 401, I don’t have permission to view that report. And don’t bother too much with azure caching. I played around with caching stuff needed for android. And the cache tasks were actually slower than fetching all that stuff from scratch. Also, just do a normal merge / rebase on the CLI with git. I don’t like the github merge UI either. |
Swatinem
left a comment
There was a problem hiding this comment.
lgtm now ;-)
lets see how the tests are looking…
My bad, the fork project was in private mode, it should be ok now. Just in case, this is the output : |
|
So the tests themselves are passing. It’s just that the unit tests do a few init/shutdown internally, which can’t be done cleanly with crashpad. Ideally, the unit tests should be built without a backend, so this becomes irrelevant. Please sync up with the latest master, and try to integrate the building into the new pipelines/pytest matrix. Both authoring the tests this way, and the output it generates is a bit meh, but it would be nice to streamline that stuff. |
Co-Authored-By: Arpad Borsos <arpad.borsos@googlemail.com>
|
Well, the pytest tests seems to be built automatically with Visual Studio which is not what we want... And sentry_exemple.exe fails too, I guess I have to do more local testing. |
|
https://dev.azure.com/gvara/sentry-native/_build/results?buildId=58&view=logs&j=3e1f1b51-d184-5f5a-906a-d9e9ce13cd6b Yeeeeeepa ! Let's see the automatic tests here, but we should be good to go ! |
|
Nice! Can you add the new supported platform to the README as well? @jan-auer WDYT? |
|
@Amphaal We have a few problems lately with mingw builds hanging and timing out after an hour. Not quite sure whats the problem there… |
It must be related with the LLVM linker msys2/MINGW-packages#6126. Let me find a workaround. |
|
Well since LLVM 10 is officially out (and might fix our issue), it's a question of time before it gets ported on MSYS2. Maybe we should disable the MinGW CI until https://packages.msys2.org/package/mingw-w64-x86_64-lld v10.0.0 goes live ? |
Once getsentry/crashpad#5 validated, i'll modify submodules dependencies accordingly. Please note that Clang is required for testing MinGW builds since .pdb files are mandatory, and only Clang can produce these files for now.