Commit Graph

314 Commits

Author SHA1 Message Date
Thaddeus Crews
0e4a4e3c4d
SCons: Improve cache purging logic
• Implement caching via SCons arguments, rather than environment variables
2024-11-15 08:29:58 -06: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
A Thousand Ships
9923268d74
[Web] Don't cache emsdk
Due to how caches are accessed this cache is almost useless, it only
matters if it is from the same branch or a base branch, and is identical
between branches, so caching it just clutters the build cache
2024-11-09 16:16:15 +01: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
Thaddeus Crews
9169ace8f2
Merge pull request #98399 from Repiteo/codeowners-2-return-of-jafar
Implement `CODEOWNERS` corrections
2024-10-29 19:25:56 -05:00
Clay John
748f4079e3
Merge pull request #96439 from darksylinc/matias-TheForge-pr03-rebased
Add Swappy & Pre-Transformed Swapchain
2024-10-29 12:34:40 -07:00
Matias N. Goldberg
aaa0e2fddf Add Swappy & Pre-Transformed Swapchain
- Adds Swappy for Android for stable frame pacing
- Implements pre-transformed Swapchain so that Godot's compositor is in
charge of rotating the screen instead of Android's compositor
(performance optimization for phones that don't have HW rotator)

============================

The work was performed by collaboration of TheForge and Google. I am
merely splitting it up into smaller PRs and cleaning it up.

Changes from original PR:

- Removed "display/window/frame_pacing/android/target_frame_rate" option
to use Engine::get_max_fps instead.
- Target framerate can be changed at runtime using Engine::set_max_fps.
- Swappy is enabled by default.
- Added documentation.
- enable_auto_swap setting is replaced with swappy_mode.
2024-10-28 18:55:37 -03:00
Thaddeus Crews
07e759b74a
Merge pull request #97771 from dsnopek/openxr-linux-egl
OpenXR: Add support for Wayland on Linux
2024-10-25 13:04:08 -05:00
Thaddeus Crews
99ef817098
Implement CODEOWNERS corrections 2024-10-22 09:50:38 -05:00
Thaddeus Crews
44b797fbe6
Merge pull request #97446 from Repiteo/ci/windows-gcc-action
CI: Add MinGW/GCC build to Windows GHA
2024-10-10 18:13:16 -05:00
Thaddeus Crews
a44f691fc7
CI: Add MinGW/GCC build to Windows GHA 2024-10-10 10:10:55 -05:00
Thaddeus Crews
580b9d2aca
Update CODEOWNERS 2024-10-09 10:24:05 -05:00
David Snopek
256699ee31 OpenXR: Add support for Wayland on Linux 2024-10-04 11:44:05 -05:00
Rémi Verschelde
a53d0a36e4
Merge pull request #97503 from Repiteo/ci/merge_queue
CI: Support merge queues with default runner
2024-09-29 00:47:05 +02:00
A Thousand Ships
ae45d19ad6
Add a few missing CODEOWNERS 2024-09-28 11:58:43 +02:00
Thaddeus Crews
cb9a457153
CI: Support merge queues with default runner 2024-09-26 11:49:34 -05:00
A Thousand Ships
0fdbd22f56
Update CODEOWNERS
* Added shared responsibilities for documentation and tests
* Made buildsystem manage all build scripts (uniquely)
* Cleaned up unused cases
* Added unmanaged cases
2024-09-25 16:48:00 +02:00
Thaddeus Crews
593744b733
CI: Improve godot-cpp actions 2024-09-19 08:37:42 -05:00
Rémi Verschelde
7174e2192b
Merge pull request #96967 from m4gr3d/update_android_editor_flavors
[Android editor] Update the Android editor flavors
2024-09-16 13:35:28 +02:00
Fredia Huya-Kouadio
741efa632a Update the Android editor flavors to avoid vendor-specific references 2024-09-13 08:53:29 -07: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
Fredia Huya-Kouadio
9dc0543da7 Improve support for XR projects 2024-09-06 00:35:50 -07:00
Jan Haller
c89a57d4c2 CI: add C compile step for gdextension_interface.h
It has happened repeatedly that C++ code accidentally crept into the
GDExtension C header, a notable example being use of the `bool` type.
This change adds a CI step to check the header with a C-only compiler.
2024-09-02 19:03:35 +02:00
Alula
346cbc7f1f
Add support for compiling with VS clang-cl toolset 2024-08-28 13:30:44 -05:00
Stuart Carnie
2d0165574d
Add Metal support for macOS (arm64) and iOS 2024-08-20 12:11:06 +02:00
David Snopek
dd78ce4217 Update GDExtension related CI after Godot 4.3-stable's release 2024-08-15 07:38:49 -05:00
Rémi Verschelde
d32a10897d
CI: Update Emscripten to 3.1.64
This is the version we're using for 4.3-stable.
2024-08-08 11:17:35 +02:00
Fabio Alessandrelli
96feb924e8 [Web] Enable the closure compiler in CI
Also fixes some JSDoc annotations in GodotAudio
2024-07-26 13:27:52 +02:00
Rémi Verschelde
a713ce7b9e
Merge pull request #94444 from Repiteo/ci/bump-scons
CI: Bump SCons version (4.7.0→4.8.0)
2024-07-22 17:24:07 +02:00
Thaddeus Crews
75a70d888a
CI: Bump SCons version (4.7.0→4.8.0) 2024-07-22 09:03:34 -05:00
Rémi Verschelde
eb6c9142ca
Merge pull request #94442 from Repiteo/ci/revert-python-version
Revert "CI: Pin Python 3.12.3 to workaround GHA issue"
2024-07-22 14:12:51 +02:00
A Thousand Ships
a2d16c0313
[CI] Run unit tests on desktop release templates 2024-07-18 15:17:33 +02:00
Thaddeus Crews
8039500f93
Revert "CI: Pin Python 3.12.3 to workaround GHA issue"
This reverts commit 4fd7b2fc0f.
2024-07-16 11:46:52 -05: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
Fredia Huya-Kouadio
8026706748 Update the github Android builds config
The configuration was updated to generate:
- Godot Android Editor build
- Godot Android template build for arm32
- Godot Android template build for arm64

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-06-26 12:44:15 -07:00
Rémi Verschelde
06f4968a82
CI: Keep GHA artifacts for 60 days 2024-06-21 10:34:00 +02:00
Raul Santos
65cd0c86f9
C#: Escape generated members 2024-06-15 19:07:42 +02:00
Rémi Verschelde
4fd7b2fc0f
CI: Pin Python 3.12.3 to workaround GHA issue
macOS runners can't extract the 3.12.4 tarball properly it seems.
https://github.com/actions/setup-python/issues/886
2024-06-10 11:29:54 +02:00
bruvzg
db93bbbc10
[CI] Enable ANGLE static linking. 2024-05-28 17:28:17 +03: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
Rémi Verschelde
734f820be4
CI: Re-add CHANGED_FILES logic for pre-commit checks
Fixes #91831.
2024-05-11 15:55:23 +02:00
Rémi Verschelde
4778b24366
Merge pull request #91597 from Repiteo/ci/pre-commit-handle-everything
CI: Overhaul static checks to use `pre-commit`
2024-05-08 18:22:59 +02:00
Thaddeus Crews
df969ff742
CI: Overhaul static checks to use pre-commit 2024-05-08 10:30:24 -05:00
Rémi Verschelde
7d03b1de0b
Style: Trim trailing whitespace and ensure newline at EOF
Found by apply the file_format checks again via #91597.
2024-05-08 10:12:46 +02:00
Rémi Verschelde
8ee0851816
CI: Use Emscripten 3.1.59 for Web platform
Works around CI failure due to mismatch between current emsdk and older releases.
2024-05-08 01:10:23 +02:00
Rémi Verschelde
4b070e8031
Fix various typos with codespell
Using 2.2.7.dev217+g10c2abcf.

Had to add `colour` to the ignore list as we used it as an alias/keyword for the
documentation of color-related APIs.
Also ignore recommendations to change `thirdparty` to either `third-party` or
`third party`, which are correct but we use the former fairly consistently.
2024-05-07 10:08:42 +02:00
Thaddeus Crews
aa3ad1889f
Buildsystem: Speedup pre-commit static check 2024-05-01 10:04:03 -05:00
A Thousand Ships
24ad73b13f
[CI] [macOS] Build for both arm64 and x86_64
Creates a universal build, to catch discrepancies on different
architectures
2024-04-24 13:00:30 +02:00