291 Commits

Author SHA1 Message Date
1f1017a47f Update links to the contributing section of the docs to the appropriate new sections.
(cherry picked from commit 4c0026b053)
2025-09-12 09:28:22 -05:00
257a5fef38 [4.3] Install older .NET 6 on Linux CI to fix compiling 2025-08-27 18:48:11 -07:00
27d4d7b991 [CI] Use Xcode 16 for macOS build.
(cherry picked from commit daf2c88928)
2025-08-27 15:17:04 -05:00
e6522a4e1c CI: Sync configuration with 4.4 branch
Includes cherry-picks of warning fixes from a44f691fc7
and 8d1462c748.
2025-04-24 23:55:20 +02:00
ff9bc04223 Bump version to 4.3.1-rc
And update CI base branch to 4.3.
2024-08-15 11:35:17 +02:00
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
96feb924e8 [Web] Enable the closure compiler in CI
Also fixes some JSDoc annotations in GodotAudio
2024-07-26 13:27:52 +02:00
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
75a70d888a CI: Bump SCons version (4.7.0→4.8.0) 2024-07-22 09:03:34 -05:00
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
a2d16c0313 [CI] Run unit tests on desktop release templates 2024-07-18 15:17:33 +02:00
8039500f93 Revert "CI: Pin Python 3.12.3 to workaround GHA issue"
This reverts commit 4fd7b2fc0f.
2024-07-16 11:46:52 -05:00
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
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
06f4968a82 CI: Keep GHA artifacts for 60 days 2024-06-21 10:34:00 +02:00
65cd0c86f9 C#: Escape generated members 2024-06-15 19:07:42 +02:00
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
db93bbbc10 [CI] Enable ANGLE static linking. 2024-05-28 17:28:17 +03:00
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
734f820be4 CI: Re-add CHANGED_FILES logic for pre-commit checks
Fixes #91831.
2024-05-11 15:55:23 +02:00
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
df969ff742 CI: Overhaul static checks to use pre-commit 2024-05-08 10:30:24 -05:00
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
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
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
aa3ad1889f Buildsystem: Speedup pre-commit static check 2024-05-01 10:04:03 -05:00
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
836845f5a2 [CI] [macOS] Fix CI with new GitHub runners
New `macos-latest` run on an arm64 image instead of x86_64 breaking the
editor workflow.
2024-04-23 20:01:32 +02:00
5b5ec8f4dc Bump github workflows to SCons 4.7 2024-04-05 17:09:10 -04:00
56686cd1fb Remove buggy first interaction 2024-04-05 08:45:42 -04:00
3df22bf72c Fix first interaction line breaks 2024-04-04 16:41:42 -04:00
fabd6d8ac3 Add first interaction action to better inform newcomers 2024-04-04 08:42:18 -04:00
950743c3d8 [CI] Improve fetching of changed files
PRs always use a merge into the repo on checkout, so checking for
`HEAD^1` will show all the changes regardless of the number of commits
in a PR
2024-03-28 13:53:36 +01:00
62531ea2d1 [CI] Work around diff size limit for static checks 2024-03-27 17:01:39 +01:00
2b2dec1f60 CI: Enable submodules on the checkout action 2024-03-15 19:53:06 -07:00
aa8e9fee63 Merge pull request #88671 from akien-mga/ci-actions-update
CI: Update actions to latest versions, use default runner .NET version
2024-03-06 13:17:00 +01:00
97851f0340 Move dotnet-format script to pre-commit
Co-authored-by: Paul Joannon <437025+paulloz@users.noreply.github.com>
2024-03-02 08:25:48 +01:00
20c563de40 Replace hand-written pre-commit hooks with pre-commit Python tool
`pre-commit` can be installed with pip, and configured in the Godot repo with
`pre-commit install`. It can then easily be run both locally with
`pre-commit run`, and on CI, in a cross-platform way.

This makes it much easier for contributors to set up pre-commit hooks,
without having to manually copy files to their git folder.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-02-26 14:57:53 +01:00
fa81e12588 Fix lint errors in WebXR module 2024-02-23 16:24:58 -06:00
39bd685814 Use godot-cpp 4.2 for the "Godot CPP" CI workflow 2024-02-23 15:16:09 -06:00
ad8d3cf1c9 CI: Update actions to latest versions, use default runner .NET version 2024-02-22 23:02:35 +01:00
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
c7dee690cd Fix formatting in bug report template
Unescaped backtics caused visual bugs
2024-02-17 19:43:15 +01:00
af58144565 Remove 3.x references in the pull request template 2024-02-09 15:40:20 -05:00
7612e655a9 Merge pull request #86006 from AThousandShips/issue_screenshot
Instruct users to add code/errors as text in issues
2024-02-09 12:14:55 +01:00
7638a6c981 Add new VS proj generation logic that supports any platform that wants to opt in
Custom Visual Studio project generation logic that supports any platform that has a msvs.py
script, so Visual Studio can be used to run scons for any platform, with the right defines per target.

Invoked with `scons vsproj=yes`

To generate build configuration files for all platforms+targets+arch combinations, users should call

```
scons vsproj=yes platform=XXX target=YYY [other build flags]
```

for each combination of platform+target[+arch]. This will generate the relevant vs project files but
skip the build process, so that project files can be quickly generated without waiting for a command line
build. This lets project files be quickly generated even if there are build errors.

All possible combinations of platform+target are created in the solution file by default, but they
won't do anything until each one is set up with a scons vsproj=yes command for the respective platform
in the appropriate command line. This lets users only generate the combinations they need, and VS
won't have to parse settings for other combos.

Only platforms that opt in to vs proj generation by having a msvs.py file in the platform folder are included.
Platforms with a msvs.py file will be added to the solution, but only the current active platform+target+arch
will have a build configuration generated, because we only know what the right defines/includes/flags/etc are
on the active build target currently being processed by scons.

Platforms that don't support an editor target will have a dummy editor target that won't do anything on build,
but will have the files and configuration for the windows editor target.

To generate AND build from the command line, run

```
scons vsproj=yes vsproj_gen_only=no
```
2024-01-31 16:42:42 +01:00
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
cd5e973d7a Merge pull request #86717 from mrbbbaixue/d3d12-sdk-install-python
Add a python script to install Direct3D 12 SDK components.
2024-01-26 11:43:49 +01:00
8d5c4b3bd3 Merge pull request #87575 from akien-mga/ci-emsdk-14
CI: Update `mymindstorm/setup-emsdk` to v14, should fix cache folder conflicts
2024-01-25 16:27:28 +01:00
ae2baec640 Merge pull request #87574 from RandomShaper/d3d12_codeowners
Direct3D 12: Include in CODEOWNERS
2024-01-25 16:27:25 +01:00