1
0
mirror of https://github.com/godotengine/godot.git synced 2026-01-05 19:31:35 +00:00
Commit Graph

122 Commits

Author SHA1 Message Date
Rémi Verschelde
bb7834390c CI: Remove outdated reference to ubuntu-20.04 2025-02-11 18:05:22 +01:00
Rémi Verschelde
327e5d3a4c CI: Add a Linux job for template_debug 2025-02-04 18:54:53 +01:00
Thaddeus Crews
b8480ffa21 CI: Change godot-cpp from workflow to action 2025-01-20 13:36:14 -06:00
Thaddeus Crews
32563011e1 CI: Tighten timeout period for all jobs 2025-01-17 14:36:10 -06:00
Rémi Verschelde
16a4919a51 Merge pull request #100912 from Repiteo/ci/single-concurrency
CI: Fix GHA bug by defining a single concurrency
2025-01-03 00:49:25 +01:00
Thaddeus Crews
4f7e04a959 CI: Only define single concurrency 2024-12-29 21:27:31 -06:00
Thaddeus Crews
048f8442e3 Style: Minor pre-commit & yaml adjustments 2024-12-29 10:51:11 -06:00
Thaddeus Crews
8642e970c5 C#: Add option to treat warnings as errors 2024-12-18 10:23:41 -06:00
Rémi Verschelde
4047e4b894 .NET: Downgrade Microsoft.CodeAnalysis.CSharp to 4.8.0 for compat with SDK 8.0.1xy
And for CI, set up .NET SDK 8.0.100 explicitly to test our min supported version.
2024-12-17 15:56:56 +01:00
HP van Braam
70dbc311d1 Exclude known thirdparty/ ubsan errors
In my quest to make ubsan failures a build failure I've added all
current ubsan errors by type to a new suppression file which we will
then also use with CI.

The idea is to only add known ubsan errors to this file, so this is not
a blanket exclusion of thirdparty/ this means that if we get new or
unexpected ubsan in thirdparty/ builds would fail.
2024-12-13 23:11:35 +01:00
Rémi Verschelde
82d51a3902 Merge pull request #99709 from AThousandShips/cache_size_improve
[Buildsystem] Tweak cache sizes for CI
2024-12-12 14:10:04 +01:00
Thaddeus Crews
57d08dbec3 C#: Fix warnings caught by new problem-matchers
• Restore MSVC problem matcher for Linux builds
2024-12-10 14:04:35 -06:00
Thaddeus Crews
357679ceb8 CI: Add explicit problem matchers 2024-11-27 16:47:34 -06:00
A Thousand Ships
344d678bbe [Buildsystem] Tweak cache sizes for CI 2024-11-26 14:50:55 +01:00
Thaddeus Crews
66fe2c8b44 SCons: Bump minimum SCons & Python versions
SCons: 3.1.2 → 4.0
Python: 3.6 → 3.8
2024-11-12 11:30:24 -06:00
Thaddeus Crews
8d1462c748 CI: Update Linux runners to Ubuntu 24.04 2024-11-10 14:05:27 -06:00
David Snopek
09e09d9335 Patch the OpenXR headers to get EGL from GLAD if we're using it 2024-11-04 10:43:07 -06:00
David Snopek
256699ee31 OpenXR: Add support for Wayland on Linux 2024-10-04 11:44:05 -05:00
Thaddeus Crews
41a81f5360 Style: Format yaml files 2024-09-13 08:06:53 -05:00
A Thousand Ships
df29cc696f [Core] Optionally delete Ref nullptr comparisons
Adds an optional (default false) compile option to enable comparing
`Ref` to `nullptr` to ensure correct use, as well as future expandsion
for more general dev checks (enabled with `dev_mode`)
2024-09-12 11:26:49 +02:00
A Thousand Ships
a2d16c0313 [CI] Run unit tests on desktop release templates 2024-07-18 15:17:33 +02:00
A Thousand Ships
32f8292679 [CI] Upload build cache before running tests
This improves turnaround time on large PRs where compilation is
successful but unit testing or similar fails, forcing recompilation of
unchanged code
2024-07-13 17:45:37 +02:00
Rémi Verschelde
a63c37dca1 SCons: Bump min version to 3.1.2, test it on CI with one Linux job
The min SCons version had to be bumped as SCons 3.0 before 3.0.3 seems
broken (see #92043), and there's little gain from supporting 3.0.3-3.0.5.

3.1.2 is also the first version to avoid ambiguities between Python 2
and Python 3 usage, so we finally use it as the minimum baseline.

Also test against Python 3.6 which is also our minimum supported version.
This should help prevent regressions whenever we modernize the build scripts.
2024-05-17 11:18:57 +02:00
Aaron Franke
2b2dec1f60 CI: Enable submodules on the checkout action 2024-03-15 19:53:06 -07:00
Rémi Verschelde
ad8d3cf1c9 CI: Update actions to latest versions, use default runner .NET version 2024-02-22 23:02:35 +01:00
Raul Santos
99b4f3086d C#: Run source generators tests in CI
Also fixes ScriptPathAttributeGenerator for generic types and its test.
2024-02-19 19:41:15 +01:00
Riteo
7e0f7d3abd Add Wayland support
Not everything is yet implemented, either for Godot or personal
limitations (I don't have all hardware in the world). A brief list of
the most important issues follows:

- Single-window only: the `DisplayServer` API doesn't expose enough
information for properly creating XDG shell windows.

- Very dumb rendering loop: this is very complicated, just know that
the low consumption mode is forced to 2000 Hz and some clever hacks are
in place to overcome a specific Wayland limitation. This will be
improved to the extent possible both downstream and upstream.

- Features to implement yet: IME, touch input, native file dialog,
drawing tablet (commented out due to a refactor), screen recording.

- Mouse passthrough can't be implement through a poly API, we need a
rect-based one.

- The cursor doesn't yet support fractional scaling.

- Auto scale is rounded up when using fractional scaling as we don't
have a per-window scale query API (basically we need
`DisplayServer::window_get_scale`).

- Building with `x11=no wayland=yes opengl=yes openxr=yes` fails.

This also adds a new project property and editor setting for selecting the
default DisplayServer to start, to allow this backend to start first in
exported projects (X11 is still the default for now). The editor setting
always overrides the project setting.

Special thanks to Drew Devault, toger5, Sebastian Krzyszkowiak, Leandro
Benedet Garcia, Subhransu, Yury Zhuravlev and Mara Huldra.
2024-01-30 16:44:47 +01:00
Hugo Locurcio
dec26e15b3 Use colored output on CI for Doctest
GitHub Actions output is not considered a TTY, so colored output
must be forced.
2023-10-28 09:22:36 +02:00
Rémi Verschelde
261fef72ad CI: Workaround recently broken add-apt-repository on GHA
Hopefully adding the sources manually still works.
2023-10-12 23:48:37 +02:00
Rémi Verschelde
303b54bcee CI: Switch mesa PPA from kisak-mesa to turtle
May solve a weird name clash we seem to have on CI since yesterday.
2023-10-11 13:54:00 +02:00
Rémi Verschelde
de14f1d295 CI: Bump version for actions/checkout@v4 and actions/setup-dotnet@v3 2023-09-04 16:05:57 +02:00
Rémi Verschelde
5eb8253fc0 CI: Propagated error code when glue generation fails
This used to be ignored as we ran the X11 version with Vulkan software renderer and xvfb-run, which could crash at the time. Now that we have headless mode, this is not a problem anymore.
2023-08-21 13:21:19 +02:00
Yuri Sizov
16a93563bf Merge pull request #73777 from myaaaaaaaaa/enable-tsan
Add a Linux ThreadSanitizer job to CI
2023-08-04 21:28:42 +02:00
Rémi Verschelde
a890457693 CI: Make extension API compatibility check mandatory
This means that any PR which breaks the extension API should
handle it properly, that is:

- Add compatibility methods to ensure that existing function hashes work
- Document the changes in the relevant misc/extension_api_validation/ file
2023-08-03 15:56:34 +02:00
Yuri Sizov
deb6025781 CI: Extract godot-cpp testing into its own job
This ensures that the godot-cpp job has plenty of resources
to run its build and avoid being affected by the main build.

Additionally:
- Extract test tasks into dedicated actions.
- Upload artifacts as early as possible.
- Ensure that we check master cache before random cache.
2023-08-01 20:41:45 +02:00
Rémi Verschelde
611123f7fd CI: Free disk space on Linux runners
Removing the Android toolchain saves 14 GiB, which gives us more room
for growth and to avoid running into out-of-space errors in the Linux
sanitizers + debug symbols builds.

Related to #79919, though the caches were just one part of the problem,
the real issue is that our Linux sanitizers builds take 12 GiB, and
adding godot-cpp on top with 2 GiB leaves only a few GiB left for the
cache itself.
2023-08-01 14:29:20 +02:00
myaaaaaaaaa
8b78ad5fc4 Add a Linux ThreadSanitizer job to CI 2023-06-26 11:47:42 -04:00
Rémi Verschelde
8c564cd974 CI: Use SCU build for Linux w/ sanitizers build
It's the slowest build so a speedup from SCU is welcome.
The other purpose of this change is to actually catch global scope
conflicts which would break the SCU build.

SCU builds have drawbacks as they won't fully validate that the
includes are correct, but we should have enough other builds in the CI
build matrix to catch this type of bug.
2023-06-20 13:15:34 +02:00
RedworkDE
0cf491bcb5 Allow validating the extension api against a reference version and a list of known changes. 2023-05-19 18:43:04 +02:00
Rémi Verschelde
a28c9701ed CI: Use GODOT_BASE_BRANCH for the godot-cpp checkout 2023-05-18 16:22:25 +02:00
yedpodtrzitko
93b7bcb33d ci: wait for static check results before starting builds 2023-04-04 22:05:15 +07:00
Rémi Verschelde
17da86eb7b CI: Disable debug_symbols for Linux + all sanitizers build
We're running out of disk space so builds are failing...
2023-02-18 23:41:44 +01:00
Rémi Verschelde
57d0afb365 CI: Remove flaky packages.microsoft.com Ubuntu repository
We don't need it.
2023-02-11 17:05:05 +01:00
Rémi Verschelde
da124e9d04 CI: Remove custom Linux deps and SwiftShader
The default environment already includes everything we need to build
all our configurations.

Remove custom SwiftShader setup as lavapipe should now be good enough,
but we need to install the latest one.
2023-02-06 18:21:15 +01:00
bruvzg
8cb7bd5230 [CI] Remove packages that are no longer necessary. 2023-01-25 10:55:34 +02:00
bruvzg
daad4aed62 Cleanup and unify keyboard input.
- Unify keycode values (secondary label printed on a key), remove unused hardcoded Latin-1 codes.
- Unify IME behaviour, add inline composition string display on Windows and X11.
- Add key_label (localized label printed on a key) value to the key events, and allow mapping actions to the unshifted Unicode events.
- Add support for physical keyboard (Bluetooth or Sidecar) handling on iOS.
- Add support for media key handling on macOS.

Co-authored-by: Raul Santos <raulsntos@gmail.com>
2023-01-23 15:08:12 +02:00
Rémi Verschelde
de5aaf1d13 CI: Fix dumping GDExtension interface and API for godot-cpp
Follow-up to https://github.com/godotengine/godot-cpp/pull/960.

Fix exit code for --dump-extension-api and --dump-gdextension-interface.

Removed the planned API validation step as we still didn't implement
anything, and maintaining a stub isn't useful.
2022-12-14 16:42:14 +01:00
Rémi Verschelde
f1edd03d4c Merge pull request #69718 from groud/finally_rename_gdnative_to_gdextension
Rename all gdnative occurences to gdextension
2022-12-12 11:43:59 +01:00
Gilles Roudière
be1c9d677d Rename all gdnative occurences to gdextension
Non-exhaustive list of case-sensitive renames:

GDExtension -> GDNative
GDNATIVE -> GDEXTENSION
gdextension -> gdnative
ExtensionExtension ->Extension (for where there was GDNativeExtension)
EXTENSION_EXTENSION ->EXTENSION (for where there was GDNATIVE_EXTENSION)
gdnlib -> gdextension
gdn_interface -> gde_interface
gdni -> gde_interface
2022-12-12 11:04:57 +01:00
Hugo Locurcio
063637ec77 Rename float=64 SCons option to precision=double
This avoids confusion with the old `bits=64` option and building
for 64-bit CPUs in general.
2022-12-10 16:43:45 +01:00