Commit Graph

106 Commits

Author SHA1 Message Date
reduz
8b547331be Create GDExtension clases for PhysicsServer3D
* Allows creating a GDExtension based 3D Physics Server (for Bullet, PhysX, etc. support)
* Some changes on native struct binding for PhysicsServer

This allows a 3D Physics server created entirely from GDExtension. Once it works, the idea is to port the 2D one to it.
2022-03-15 18:39:31 +01:00
Hugo Locurcio
eae16f73a6
Make -q CLI argument toggle quiet stdout instead of quitting
`-q` is a common toggle in a command line applications for quiet mode
(see apt or dnf for examples). In contrast, `--quit` isn't needed
as often.
2022-03-13 23:55:01 +01:00
reduz
6f51eca1e3 Discern between virtual and abstract class bindings
* Previous "virtual" classes (which can't be instantiated) are not corretly named "abstract".
* Added a new "virtual" category for classes, they can't be instantiated from the editor, but can be inherited from script and extensions.
* Converted a large amount of classes from "abstract" to "virtual" where it makes sense.

Most classes that make sense have been converted. Missing:

* Physics servers
* VideoStream
* Script* classes.

which will go in a separate PR due to the complexity involved.
2022-03-10 12:28:11 +01:00
Rémi Verschelde
ce09a47db4 CI: Use mono_static=yes for Mono builds
This removes the dependency on shared libmonosgen installed locally
and makes the artifacts usable as standalone for testing without
needing a full Mono install.
2022-02-22 13:49:37 +01:00
Hugo Locurcio
b68dd2e189
Add an XML schema for documentation
This makes it easier to spot syntax errors when editing the
class reference. The schema is referenced locally so validation
can still work offline.

Each class XML's schema conformance is also checked on GitHub Actions.
2022-02-15 00:03:31 +01:00
Hugo Locurcio
74fc4410f4
Remove support for ARMv7 (32-bit) on iOS
All iOS devices since the iPhone 5S support ARMv8 (64-bit).

The last iOS version supported on ARMv7 devices is 10.x, which is
too old to run Godot 4.0 projects since the minimum supported
iOS version is 11.0.
2022-02-08 22:11:29 +01:00
Rémi Verschelde
992794e44a
CI: Force invalidate macOS cache
I *hate* having to commit this kind of noise to our
commit history. Especially on a Friday at 10 pm.
2022-02-04 22:26:16 +01:00
Rémi Verschelde
56838ca009
CI: Rename macOS cache key to force a rebuild
The cache got corrupted and until https://github.com/actions/cache/issues/2
is prioritized we're forced to fix it up with such hacks...
2022-01-11 20:59:06 +01:00
Rémi Verschelde
aafac1e33a
CI: Update SwiftShader to 2021-10-02 build
No specific reason that I know of aside from it being available in our
prebuilt CI dependencies.
2022-01-06 15:17:34 +01:00
Rémi Verschelde
94232dcb48
CI: Update links to regression test project and prebuilt SwiftShader
qarmin's repository has been moved to the godotengine organization.
2022-01-06 12:10:15 +01:00
Aaron Franke
368c0bc0ac
Misc build system fixes 2021-12-10 12:14:27 -06:00
Aaron Franke
e9808e3d9a
Add a double-precision editor build to CI 2021-12-09 09:52:48 -06:00
Aaron Franke
ae713f8980
Add a minimal template build to CI
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2021-11-12 09:30:50 -06:00
qarmin
071829acc5 Enable mono editor build in CI 2021-11-09 11:02:04 +01:00
Rémi Verschelde
5116f32db4
CI: Update black to 21.10b0
No formatting changes on our code compared to 20.8b1.
2021-11-03 13:57:49 +01:00
Rémi Verschelde
f42ef8d5f9
CI: Update to clang-format 13 using LLVM repo 2021-10-28 17:11:00 +02:00
Rémi Verschelde
2ecab0491c
Merge pull request #54179 from aaronfranke/make-rst 2021-10-26 08:43:07 +02:00
Rémi Verschelde
55d05565d0
clang-format: Enable --Wno-error=unknown for compat with older versions
This prevents errors when encountering options which have been defined in newer
versions of clang-format, and are invalid in the YAML for the old version.

Bump minimum supported clang-format version to 12 (where `--Wno-error=unknown`
was added).

Use clang-format 12 on CI (13 is not available yet on the Ubuntu 20.04 images).
2021-10-25 00:19:22 +02:00
Aaron Franke
8f05e26198
Rename "makerst.py" to "make_rst.py" 2021-10-24 01:58:59 -05:00
Bastiaan Olij
daff03576d Add CI step for compiling and testing godot-cpp 2021-10-21 20:30:19 +11:00
Rémi Verschelde
8fa67fba47
CI: Run doctool in headless mode 2021-10-20 17:48:50 +02:00
Marcel Admiraal
fe0b673bb3 Update Android CI to use JDK 11. 2021-10-09 15:27:11 +01:00
Rémi Verschelde
c4fa301b6b
CI: Build test binaries with debug symbols, then strip
This allows having good stacktraces when the tests crash.
2021-09-22 09:31:44 +02:00
Fabio Alessandrelli
3dbf008411 [CI] Refactor CI actions, use sub-actions, matrices. 2021-09-14 12:46:16 +02:00
Ellen Poe
f5d9c7b487 Replace stb_vorbis with libogg+libvorbis 2021-09-09 19:39:04 -07:00
Max Hilbrunner
5139a19877 Fix CI after concurrency 2021-08-25 15:04:05 +02:00
Max Hilbrunner
40bb1ded7e CI: Cancel previous builds if new commit is pushed 2021-08-25 14:54:48 +02:00
Gordon MacPherson
27da2e364e Fix github actions cache server being down failing builds 2021-08-18 21:58:54 +01:00
Fabio Alessandrelli
71fb2429a0 [CI] Upgrade Emscripten to 2.0.27.
Update Godot Javascript FS library to manually depend on ERRNO_CODES.
2021-08-18 10:30:50 +01:00
Rémi Verschelde
07c355c209
Issue template: Fix link to CONTRIBUTING.md
Fixes #51623.
2021-08-13 15:30:41 +02:00
Rémi Verschelde
c44ebb020d
HTML5: Fix warnings and re-enable werror=yes on CI
Add a missing call to disable warnings on a forked env for freetype's
`sfnt.c`.
2021-08-06 12:12:37 +02:00
Rafał Mikrut
e8877806ec Fix 'Attempted to remove invalid ID' errors 2021-07-31 15:30:31 +02:00
David Snopek
3963a11b2f Re-enable building WebXR in GitHub Actions 2021-07-17 15:37:35 -05:00
Fabio Alessandrelli
9a044d95fc Re-enable JavaScript CI (with no WebXR until fixed). 2021-07-15 15:34:13 +02:00
Yuri Sizov
0f78e36e1c Check if there are new docs missing on CI 2021-07-14 14:21:03 +03:00
Niklas Higi
0c83a23ab5
Add "Keep screen on" feature to DisplayServerX11 2021-06-20 21:57:33 +02:00
Rémi Verschelde
affb3ce1b7
Merge pull request #49364 from Calinou/add-form-github-issue-template
Add a form GitHub issue template for bug reports
2021-06-08 16:57:41 +02:00
Hugo Locurcio
50fd981cfc
Add a form GitHub issue template for bug reports
GitHub now supports forms as issue templates (currently in private beta).
Godot has been opted into this private beta, which makes this new feature
usable on the Godot repository.

Inspired by the ImageMagick form:

https://github.com/ImageMagick/ImageMagick/blob/main/.github/ISSUE_TEMPLATE/bug-report.yml
2021-06-08 16:25:34 +02:00
Marcel Admiraal
a81449be6d Don't install Android NDK in CI 2021-06-07 09:01:33 +01:00
Rémi Verschelde
4219a4cb6f
Fix typos with codespell
Using codespell 2.0.0.

Method:
```
$ cat > ../godot-word-whitelist.txt << EOF
ang
curvelinear
dof
doubleclick
fave
findn
GIRD
leapyear
lod
merchantibility
nd
numer
ois
ony
que
seeked
synching
te
uint
unselect
webp
EOF

$ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"
$ git diff // undo unwanted changes
```
2021-05-20 12:38:56 +02:00
Rémi Verschelde
7eaf4d445d
CI: Install Android NDK 21.4.7075529
This is the version mandated by Godot's gradle setup anyway so it would get
installed when running gradlew. Now we pre-install the correct version.
2021-05-19 15:03:56 +02:00
Bartłomiej T. Listwon
b6f16671ee pywin32 is no longer necessary for SCons install
https://github.com/SCons/scons/releases/tag/4.1.0
2021-05-19 08:49:45 +02:00
Rémi Verschelde
afb65ebc2c
CI: Add --doctool check to find missing classref updates
This will enforce that PRs properly sync the class reference templates to match
their changes to the public API, and help notice binding bugs in the process
(e.g. missing enum bindings, unexpected API changes or missing argument names).

This should also serve as a reminder to contributors that their changes impact
the scripting API and might warrant actually filling the descriptions for the
new methods/properties/etc.
2021-05-03 20:44:49 +02:00
Rafał Mikrut
599d96163c Test Godot with Vulkan in CI 2021-04-15 16:17:28 +02:00
Fabio Alessandrelli
472482013e [HTML5] Add jsdoc2rst tool.
A template for `jsdoc` that generat the HTML5 public classref.

The script can be run via `npm run docs` to print to stdout.

You can dry run via `npm run docs -- --d dry-run` or write to file via
`npm run docs -- -d /path/to/file.rst`

Also update Makefile in `doc/` and add dry run test to CI.
2021-02-26 11:33:59 +01:00
Rémi Verschelde
caea551d41 CI: Build without debug symbols to reduce cache size
We often hit "Too Many Requests" errors when uploading the cache with
`actions/cache` because there's a limit of 10 GB every 5 minutes, and we can
easily go over it when we amend or merge several PRs in a short timespan.

This will make the CI artifacts less useful for debugging crashes but there's
no real way around this.
2021-02-22 11:51:55 +01:00
Rémi Verschelde
146f016dcb
CODEOWNERS: Add some more owned files and fix team names 2021-02-16 11:35:51 +01:00
Rémi Verschelde
a25bfce694
CODEOWNERS: Update with newly added teams 2021-02-15 12:53:59 +01:00
Gordon MacPherson
f2feefb367 Use github actions cache not my own one. 2021-02-13 16:04:57 +00:00
Rémi Verschelde
d6404fd7a0 CI: Build Linux editor without Mono, sanitizers with Mono
The Mono builds are with mono_glue=no so they're not usable,
and it would be convenient if the main tools=yes target=release_debug
artifacts could actually be used.
2021-02-05 12:07:40 +01:00