summaryrefslogtreecommitdiff
path: root/.github/workflows/linux_builds.yml
AgeCommit message (Collapse)Author
2022-08-25CI: Bump various GitHub actions to latest versionsRémi Verschelde
actions/cache@v3 actions/checkout@v3 actions/upload-artifact@v3 actions/setup-dotnet@v2 actions/setup-java@v3 actions/setup-python@v4 mymindstorm/setup-emsdk@v11 Also reset cache keys as we're going to cleanup all caches.
2022-08-25Unify bits, arch, and android_arch into env["arch"]Aaron Franke
Fully removes the `bits` option and adapts the code that relied on it. Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2022-08-23CI: Remove second build with mono_glue=yesIgnacio Roldán Etcheverry
A second build is no longer needed. It was resulting in a null build that still took more than 1 minute of CI time. Also removed other usages of `mono_glue=no` and `mono_static=yes`, as these options no longer exist.
2022-08-22C#: Upgrade to .NET 6 (5.0 -> 6.0)Ignacio Roldán Etcheverry
2022-08-22CI: Setup .NET Sdk to fix CI and build C# code as wellIgnacio Roldán Etcheverry
2022-08-06Check also GLES3 in CIRafał Mikrut
2022-07-31create vector4, vector4i and projection for csharpantonWetzel
2022-07-29CI: Link MoltenVK statically on macOSRémi Verschelde
Same as done for official builds. Also make artifacts executable before zipping.
2022-07-26Implement support for loading system fonts on Linux, macOS / iOS and Windows.bruvzg
2022-07-23Implement Vector4, Vector4i, Projectionreduz
Implement built-in classes Vector4, Vector4i and Projection. * Two versions of Vector4 (float and integer). * A Projection class, which is a 4x4 matrix specialized in projection types. These types have been requested for a long time, but given they were very corner case they were not added before. Because in Godot 4, reimplementing parts of the rendering engine is now possible, access to these types (heavily used by the rendering code) becomes a necessity. **Q**: Why Projection and not Matrix4? **A**: Godot does not use Matrix2, Matrix3, Matrix4x3, etc. naming convention because, within the engine, these types always have a *purpose*. As such, Godot names them: Transform2D, Transform3D or Basis. In this case, this 4x4 matrix is _always_ used as a _Projection_, hence the naming.
2022-07-22SCons: Refactor Linux linker options with `linker=<bfd|gold|lld|mold>`Rémi Verschelde
The new option is `linker` and lets the user specify the argument to the`-fuse_ld=` linker flag directly. The supported options are: - `default`: No change, typically uses GNU ld (bfd) unless the user or distro picked a different default `/usr/bin/ld`. - `bfd`: GNU ld from binutils - `gold`: GNU gold from binutils - `lld`: lld from LLVM - `mold`: mold, an extremely fast modern linker, not (yet) intended for use in production but great for development speed. Provided by distro `mold` package or needs to be compiled from source and installed to `/usr` otherwise. Removes the `use_lld=yes` option, and make lld actually usable with GCC too. Not all the above are compatible or recommend for LTO, we recommend using GNU ld with GCC LTO, or lld with LLVM ThinLTO.
2022-07-21CI: Use Gold (GCC) and LLD (Clang) as linker for Linux sanitizers buildsRémi Verschelde
They're very memory hungry to a point where GNU ld can crash on CI. Both Gold and LLD should be nicer to RAM and thus a safer option.
2022-07-20Revert "CI: Disable Linux GCC ASAN temporarily"Riteo
This reverts commit 04e955841f43efc13f90f6edf457ad7867418202. It looks like we can just remove `-pipe` for the CI to complete.
2022-07-20CI: Disable Linux GCC ASAN temporarilyRémi Verschelde
Another attempt at fixing CI which seems to get a linker crash since today (likely OOM).
2022-07-17SCons: Default `num_jobs` to max CPUs minus 1 if not specifiedRémi Verschelde
This doesn't change the behavior when `--jobs`/`-j` is specified as a command-line argument or in `SCONSFLAGS`. The SCons hack used to know if `num_jobs` was set by the user is derived from the MongoDB setup. We use `os.cpu_count()` for portability (available since Python 3.4). With 4 CPUs or less, we use the max. With more than 4 we use max - 1 to preserve some bandwidth for the user's other programs.
2022-07-02Fix exit code of --help and --version, and test them in CIJan Haller
Corrects prior regression which caused ERROR output and exit code of 1.
2022-06-15Add Godot 3.x -> Godot 4.x project converterRafał Mikrut
2022-04-28Implement text-to-speech support on Android, iOS, HTML5, Linux, macOS and ↵bruvzg
Windows. Implement TextServer word break method.
2022-04-07Remove redundant `godot-cpp` build stage.bruvzg
2022-04-01Add CI build with clang sanitizers, increase stack size to 30 MB for builds ↵bruvzg
with sanitizers.
2022-03-30CI: Re-enabled godot-cpp testRémi Verschelde
Compatibility with current master was fixed in https://github.com/godotengine/godot-cpp/pull/734
2022-03-30Make vararg method bind no return and returnPierre-Thomas Meisels
Type emit_signal exposed method return type set UndoRedo add_do_method and add_undo_method exposed return void Set TreeItem::_call_recursive_bind returns void Set _rpc_bind and _rpc_id_bind returns void in Node Set _call_group and _call_group_flags method returns void in SceneTree Set godot-cpp-test CI flag to false
2022-03-23CI: Update to actions/cache@v3, increase cache limit to 10 GiBRémi Verschelde
And force rebuild of Linux cache which got corrupted...
2022-03-18Ignore PhysicsServer3DExtension class in C#Raul Santos
PhysicsServer3DExtension inherits from PhysicsServer3D which is a singleton class, since singleton classes are generated as static in C# it would generate invalid C# so for now we'll be ignoring PhysicsServer3DExtension.
2022-03-17Re-enable `godot-cpp` CI.bruvzg
2022-03-15Create GDExtension clases for PhysicsServer3Dreduz
* 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-13Make `-q` CLI argument toggle quiet stdout instead of quittingHugo Locurcio
`-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-10Discern between virtual and abstract class bindingsreduz
* 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-02-22CI: Use mono_static=yes for Mono buildsRémi Verschelde
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-01-06CI: Update SwiftShader to 2021-10-02 buildRémi Verschelde
No specific reason that I know of aside from it being available in our prebuilt CI dependencies.
2022-01-06CI: Update links to regression test project and prebuilt SwiftShaderRémi Verschelde
qarmin's repository has been moved to the godotengine organization.
2021-12-10Misc build system fixesAaron Franke
2021-12-09Add a double-precision editor build to CIAaron Franke
2021-11-12Add a minimal template build to CIAaron Franke
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2021-11-09Enable mono editor build in CIqarmin
2021-10-21Add CI step for compiling and testing godot-cppBastiaan Olij
2021-10-20CI: Run doctool in headless modeRémi Verschelde
2021-09-22CI: Build test binaries with debug symbols, then stripRémi Verschelde
This allows having good stacktraces when the tests crash.
2021-09-14[CI] Refactor CI actions, use sub-actions, matrices.Fabio Alessandrelli
2021-08-25Fix CI after concurrencyMax Hilbrunner
2021-08-25CI: Cancel previous builds if new commit is pushedMax Hilbrunner
2021-08-18Fix github actions cache server being down failing buildsGordon MacPherson
2021-07-31Fix 'Attempted to remove invalid ID' errorsRafał Mikrut
2021-07-14Check if there are new docs missing on CIYuri Sizov
2021-06-20Add "Keep screen on" feature to `DisplayServerX11`Niklas Higi
2021-05-20Fix typos with codespellRémi Verschelde
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-03CI: Add `--doctool` check to find missing classref updatesRémi Verschelde
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-04-15Test Godot with Vulkan in CIRafał Mikrut
2021-02-22CI: Build without debug symbols to reduce cache sizeRémi Verschelde
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-05CI: Build Linux editor without Mono, sanitizers with MonoRémi Verschelde
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.