Commit Graph

138 Commits

Author SHA1 Message Date
binary1248
90ebf68ba3 Added GitHub Actions jobs to build with OpenGL ES on Linux GCC. 2023-10-08 12:13:41 -06:00
Chris Thrasher
e638d7a5e9 Simplify how tests are automatically re-ran in CI
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.
2023-10-05 16:56:05 -06:00
binary1248
e1fe3fdb06 Manually install MinGW when running GitHub Actions workflows. 2023-10-04 18:31:38 +02:00
Chris Thrasher
793ee75873 Only install MinGW when necessary
Installing MinGW 11 takes way too long to tolerate doing this in
all Windows jobs.
2023-10-03 02:42:22 +02:00
Chris Thrasher
9d1d9cde33 Remove Intel oneAPI CI jobs
These started spontaneously failing due to some Debian package
repository key issues.

https://github.com/SFML/SFML/actions/runs/6365368228/job/17282319034#step:6:40
2023-10-01 21:39:58 +02:00
Chris Thrasher
cc147e5827 Install an older version of MinGW
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.
2023-09-30 18:50:10 -06:00
Chris Thrasher
732115820b Revert "Disable MinGW jobs until linker errors are addressed"
This reverts commit 3acb69e347.
2023-09-30 18:50:10 -06:00
Chris Thrasher
3acb69e347 Disable MinGW jobs until linker errors are addressed
See https://github.com/SFML/SFML/issues/2700
2023-09-22 14:46:27 -06:00
Chris Thrasher
739129d009 Install Ninja in CI
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.
2023-09-22 14:46:27 -06:00
Chris Thrasher
3a0d074b2f Remove trailing whitespace
Some of these files either aren't processed by clang-format or the
trailing whitespace existed within blocks of code where we disabled
clang-format.
2023-09-19 13:30:27 -06:00
Chris Thrasher
910514871e Remove unnecessary CI step
clang-format is already installed in GitHub's Ubuntu image
2023-09-18 09:06:35 -06:00
Chris Thrasher
a71d6bc078 Revert "Disable faulty Windows Clang job"
This reverts commit bbb6f60dda.
2023-09-09 00:17:08 -06:00
Chris Thrasher
1811951b4a Allow for shared libs on iOS 2023-09-05 16:04:20 -06:00
Chris Thrasher
d7ab9208be Add tests for sf::RenderTexture
The generateMipmap test was failing because I forgot to enable MESA
in the MinGW Static Standard Library job.
2023-09-05 10:58:14 -06:00
Chris Thrasher
bbb6f60dda Disable faulty Windows Clang job
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.
2023-08-26 21:09:31 -06:00
Chris Thrasher
962e6ed972 Default to building static libraries
See https://github.com/SFML/SFML/issues/2389 for full rationale
2023-08-23 09:17:43 -06:00
Chris Thrasher
10bd1ffeba Remove $GITHUB_WORKSPACE where not needed 2023-08-12 12:10:46 -06:00
Chris Thrasher
157feec05d Simplify CI with CMake presets 2023-08-11 15:25:14 -06:00
Chris Thrasher
5c41a7c6bb Test SFML_USE_STATIC_STD_LIBS 2023-08-11 14:57:10 -06:00
Chris Thrasher
3d63de9a21 Add iOS clang-tidy job 2023-08-04 11:16:20 -06:00
Chris Thrasher
b99a4e341e Add Android clang-tidy job 2023-07-31 15:28:25 -06:00
Chris Thrasher
ddfb7f6cb0 Use modern name for macOS
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.
2023-07-24 21:25:26 -06:00
Chris Thrasher
bc8a84138f Add tests for SFML_USE_SYSTEM_DEPS option 2023-07-20 14:13:29 -06:00
Chris Thrasher
1cc9738dcb Automatically cancel previous active pipelines when branch is updated 2023-07-09 16:11:43 -06:00
Chris Thrasher
cc0f760bbf Add CI job for Intel oneAPI 2023-07-08 17:00:58 -06:00
Lukas Dürrenberger
22128c996a Set GitHub Actions image version explicitly 2023-07-08 14:47:50 -06:00
Chris Thrasher
f443a9529b Take advantage of clang-format-14 features 2023-07-08 14:39:24 -06:00
Lukas Dürrenberger
af5edaab91 Remove brew update until GitHub fixes the issue 2023-07-04 10:45:15 +02:00
Chris Thrasher
da8614cb2f Test MinGW build in CI 2023-05-31 10:26:50 -06:00
Chris Thrasher
f6dfc04938 Switch to Catch2 2023-05-13 12:38:11 -06:00
JS Fauteux
c45f6378d6 Remove Codecov binary GPG check
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.
2023-05-11 17:29:31 -06:00
binary1248
26b300f923 Fixed $GITHUB_WORKSPACE backslashes being escaped by bash when passed to the sh command. 2023-04-13 17:21:18 +02:00
binary1248
9269edcccc Add OpenGL ES jobs to ci.yml. 2023-04-13 00:20:28 +02:00
binary1248
705307f725 Skip OpenGL version printout when test-sfml-window does not exist 2023-04-12 10:19:59 -06:00
binary1248
913d7358ac Don't repeatedly run test setup code 2023-04-12 10:19:59 -06:00
Chris Thrasher
038030aed3 Fix how CTest config is specified 2023-04-12 10:19:59 -06:00
Chris Thrasher
7a8192ada9 Fix bug where CTest failing did not fail CI job 2023-04-12 10:19:59 -06:00
Chris Thrasher
1da3e8015b Disable Xcode code signing via configuration parameter 2023-04-12 09:30:01 +02:00
Chris Thrasher
2d6d4a4e31 Allow for manually triggering CI 2023-04-10 17:48:15 -06:00
Chris Thrasher
6692284597 Force brew install to succeed 2023-04-10 10:08:13 -06:00
binary1248
ea4c448a85 Add support for installing and using the Mesa 3D library for OpenGL rendering. 2023-04-06 11:15:56 -06:00
Jonny
741fe219da
Use built-in CMake support for iOS
* 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>
2023-04-03 23:36:33 +02:00
Chris Thrasher
2d2f684786 Fix clang-tidy-16 errors 2023-03-28 19:54:06 -06:00
binary1248
acba3e6165 Replaced xvfb-run with manually starting Xvfb and running fluxbox to emulate a window manager and combined test and coverage steps into a single step. 2023-03-27 19:46:07 -06:00
binary1248
05d9f2046a Since the CODECOV_TOKEN secret isn't being made available to every pull request, revert to having the Codecov uploader auto-detect. 2023-03-24 10:37:50 +01:00
binary1248
b510042b0d Fixed Codecov uploader being run with the SHA of the merge commit instead of the HEAD commit when a job is run in a pull request context. 2023-03-23 09:57:58 -06:00
binary1248
6ca627ee9d Manually upload coverage report instead of using codecov-action. 2023-03-19 16:21:55 -06:00
Chris Thrasher
0b62543942 Don't automatically run tests after build
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.
2023-03-14 20:23:17 -06:00
Chris Thrasher
b6c54ac589 Use unity builds to speed up clang-tidy runtime 2023-03-14 10:08:23 -06:00
binary1248
42a53cfb1d Make use of CODECOV_TOKEN in ci.yml in order to work around Github Actions API errors that occur. 2023-03-07 10:03:34 +01:00
Chris Thrasher
0e1d33f910 Test install interface with frameworks 2023-02-17 00:28:58 -07:00
Chris Thrasher
7c825b182f
Test install interface for Static DRM builds 2023-02-09 20:24:58 -07:00
Chris Thrasher
ef20b58895 Enable display tests for non-DRM Linux builds
I think this was an oversight. These jobs already run with xvfb-run
so we ought to be including the display-dependent tests.
2023-02-08 00:22:42 -07:00
Chris Thrasher
218fccd926 Don't install CMake on Android 2023-01-30 17:27:45 -07:00
Chris Thrasher
401615f5e6 Use Ninja in CI 2023-01-29 11:14:10 -07:00
Chris Thrasher
84f56d0936 Add option for skipping tests that require an attached display 2023-01-18 16:06:00 -07:00
Chris Thrasher
9265607d79 Run Linux tests with dummy display
This lets us test certain classes like sf::Texture which will otherwise
fail if a display is not detected.
2023-01-18 16:06:00 -07:00
Chris Thrasher
cab0e75503 Run clang-tidy on Windows in CI
Co-authored-by: Bambo-Borris <canyoufeelit4@gmail.com>
2023-01-14 15:13:02 -07:00
Chris Thrasher
8b7429b9c0 Analyze DRM backend 2023-01-13 14:16:25 -07:00
Chris Thrasher
e8fa5d7d31
Add CI job for Clang on Windows 2022-12-14 15:26:08 -07:00
Chris Thrasher
3b6db4d18c Enforce variable case 2022-12-12 16:10:03 -07:00
Chris Thrasher
c5bd4a4063 Run all formatting jobs on Ubuntu 22.04 2022-11-27 13:39:40 -06:00
Jonny
8e3efab09d
Retry choco install step up to 10 times
With a timeout of 3min
2022-11-23 08:35:31 +01:00
Lukas Dürrenberger
d4d518e1be Merge branch '2.6.x' into master 2022-10-25 19:17:35 +02:00
Chris Thrasher
c1064bae92 Lock 2.6.x branch to macOS 11 images
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.
2022-10-25 18:18:46 +02:00
Lukas Dürrenberger
3af9168d03 Add 32-bits Visual Studio builds to the CI 2022-10-19 14:38:42 +02:00
Chris Thrasher
80b45d4725 Add custom target for running clang-tidy 2022-10-17 18:29:56 -06:00
Chris Thrasher
fc61f2469d Update code coverage action 2022-10-16 16:14:03 -06:00
Chris Thrasher
e0b6053b15 Update checkout action 2022-10-16 16:14:03 -06:00
Chris Thrasher
e4f81af337 Test install interface
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.
2022-10-15 09:07:49 +02:00
Chris Thrasher
a5dbe59f07
Merge branch '2.6.x' 2022-10-13 14:33:11 -06:00
Jonny Paton
0b4d9ca822 Test Xcode generator in CI 2022-09-26 23:50:26 +02:00
Waldegger
308857702e
Add Android dependency binaries for x86_64 and arm64-v8a architectures
* Remove unused libFLAC++.a for all Android architectures
* Enhance GitHub Actions builds

Co-authored-by: Waldegger <Stefan.Waldegger@users.noreply.github.com>
2022-07-19 08:03:16 +02:00
metaquarx
88e9f82bee Add '.clang-format' file, CI integration, and formatting exceptions
Co-authored-by: Vittorio Romeo <vittorio.romeo@outlook.com>
Co-authored-by: Chris Thrasher <chrisjthrasher@gmail.com>
Co-authored-by: kimci86 <kimci86@hotmail.fr>
2022-07-11 20:04:56 +02:00
Lukas Dürrenberger
b158bc1f94 Add a VS 2022 with Clang build 2022-06-12 17:40:01 +02:00
Lukas Dürrenberger
9a6142bd22 Merge branch '2.6.x' 2022-04-27 08:12:25 +02:00
Radek Dutkiewicz
b6ca47e128 DRM Implementation
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>
2022-04-26 07:44:14 +02:00
Lukas Dürrenberger
2837b3623b Remove VS 2017 as GitHub Actions compiler
VS 2017 doesn't fully support C++17
2022-04-05 09:35:29 +02:00
Lukas Dürrenberger
fe3a7fc21e Add support for VS 2022 to the GitHub Actions workflow 2022-04-05 09:35:29 +02:00
kimci86
fab2c93d7a Simplify CI workflow 2022-02-20 17:00:43 +01:00
Jakub 'Eremiell' Marek
1334e3c466 Update Android NDK to r23b
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
2022-02-17 00:40:29 +00:00
binary1248
66339bc09c Added support for coverage reporting. 2022-02-10 08:08:47 +01:00
Lukas Dürrenberger
ef8d6ee7f7 Remove VS 2017 as GitHub Actions compiler
VS 2017 doesn't fully support C++17
2022-02-05 19:11:15 +01:00
Lukas Dürrenberger
60deef9997 Add support for VS 2022 to the GitHub Actions workflow 2022-01-20 10:53:52 +01:00
Vittorio Romeo
f162b3a037 Enable support for unity builds 2021-08-12 21:00:16 +02:00
Lukas Dürrenberger
b762276a27 Change GitHub Actions failure mode
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.
2021-02-19 20:48:28 +01:00
Lukas Dürrenberger
3a95fdee35 Add apt-get update command for the CI
If the apt-get cache is outdated, it may end up trying to fetch a
package that no longer exists, so the cache needs to be updated.
2020-11-29 15:36:13 +01:00
MrZeusTheCoder
c10c458169 Add Github Actions. 2020-11-20 09:19:28 +01:00