The flakiness is theoretically limited to Linux where we have to
use xvfb-run in CI. Because the tests are ran on Linux via ctest
we can more easily use CTest's built-in support for rerunning
failed tests. We have yet to actually observe this flakiness after
the other changes added in #2474 so it's possible the flakiness
has been entirely addressed.
While I was at it I de-duplicated some code for printing OpenGL
information.
Version 12 changes to URCT instead of MSVCRT which causes linker
issues with all the prebuilt MinGW binaries. This is still a liability
that will have to eventually be fixed.
https://github.com/actions/runner-images/issues/8343#issuecomment-1727810519
Ninja's presence in the Windows images was due to it being a
transitive dependency of another packages. It was never guaranteed
to be present. The actions/runner-images devs do not plan on adding
it so we're forced to install it ourselves.
The problem is that the Windows CI image hasn't yet be updated to
Clang 16. See this PR for progress on fixing it
https://github.com/actions/runner-images/pull/8134
This has been merged but we still have to wait for the changes to
propogate to all runners.
In a few places I left references to the old name where appropriate.
There are also many CMake references to "OSX" that we have to keep
using since CMake does not offer alternative names for those variables
and target properties.
This started randomly failing on macOS one day. We're not sure why
it started failing but we think it's relatively unimportant so we
can get rid of it.
* Use built-in iOS support for cmake and expand tests to cover more configurations
* Adjust CI builds
* Update examples version
---------
Co-authored-by: Chris Thrasher <chrisjthrasher@gmail.com>
The runtests target must be used on Windows for the sake of code
coverage. However we can't use that target on all other platforms
because on some non-Windows platforms like Android, the tests don't
even get configured. If you try to build a target that doesn't exist
you get a hard failure. Using CTest is better because it will still
return zero even if no tests are found as is the case on Android.
Those annotations create enormous clutter in diff views on GitHub, making PR reviews complicated.
Since we are currently not headed toward 100% coverage, they provide little benefit.
The macos-latest image recently upgraded to macOS 12. This includes
the iOS 16 SDK which deprecates some features which we're using. The
short term fix is to just keep using macOS 11 for 2.6.x.
Skip Android, iOS, and Framework builds simply because I can't get
them to work and don't want that holding up getting the rest of the
install tests merged.
Skip the Static DRM install test because there's a bug in the install
that needs to be fixed.
Ported sfml-pi DRM/KMS backend written by @mickelson
Port co-authored by @substring
Co-authored-by: Andrew Mickelson <andrew.mickelson@gmail.com>
Co-authored-by: Gil Delescluse <frog2wah@gmail.com>
This commit updates the NDK version to latest available at the
time.
The expectation from this change is to resolve issues with code
modernisation and to allow us to use C++ 17 features on Android.
This shouldn't affect devices supported as we're not changing the
API level.
For more details see:
https://developer.android.com/ndk/downloads/revision_history
When a single GitHub Action build fails, the other builds should not be
canceled, but instead should continue to build.
Since the matrix is setup on OS level, a failing build on one OS usually
doesn't mean it's broken for all OS.
GitHub will use these templates to pre-fill created issues and
pull requests. This should help to get people to provide better
information on issues or direct them to the forum when needed and
hint people to provide example/test code for pull requests.