gnustep / libobjc2

Objective-C runtime library intended for use with Clang.
http://www.gnustep.org/
MIT License
426 stars 116 forks source link

Attempt to add QEMU to CI. #239

Closed davidchisnall closed 1 year ago

davidchisnall commented 1 year ago

@triplef, AArch64 is passing, but 32-bit Arm is not. Have you seen those failures?

triplef commented 1 year ago

This is great, thanks. I haven’t seen those errors before though. Could it be because Android seems to use ARMel instead of ARMhf?

Maybe we could add ARMel as well? I was going to add this but couldn’t figure out the name of the right name of the linker library:

          - name: armel
            system-processor: arm
            triple: arm-linux-gnueabi
            rtld: ld-linux-armhf.so.3 # correct name?
davidchisnall commented 1 year ago

I think the runners have the Android SDK installed, so maybe already have an Android-specific emulator that we can use for Android testing?

triplef commented 1 year ago

Ah yes that would be even better. Unfortunately I never took the time to figure out how to run CMake tests on Android (I had previously only copied them by hand onto the device/emulator via adb).

It looks like it should be possible though with some massaging – I’ll try to take a look. I found these links that might helpful: https://github.com/marketplace/actions/android-emulator-runner https://cmake.org/cmake/help/latest/module/AndroidTestUtilities.html https://gitlab.xiph.org/xiph/opus/-/merge_requests/28/diffs

davidchisnall commented 1 year ago

32-bit Arm C++ exception tests are 'fixed' by disabling those tests in CI. That's not really satisfying, but at least it should prevent more regressions being introduced. 32-bit Arm has a weird exception model and I'm not sure that the C++ exception interop bits ever worked there, but at least we won't break anything more with this merged.