Using the major version of the setup-godot action without specifying
minor and patch versions will allow us to start using the newest minor
and patch releases as soon as they are made available on the GitHub
marketplace.
Submodules are only required for building the GDNative library or export
templates, otherwise we download the pre-built ones so don't need the
submodules.
Commit GUT directly to the git repo and remove gd-plug as it is no
longer required to install GUT.
Modify GUT to be used by command-line only.
For example:
```
cp test/.gutconfig.ci.json .gutconfig.json
godot --no-window -s addons/gut/gut_cmdln.gd
```
Adds support for building Linux binaries inside a docker container in
order to target an older version of GLIBC.
Updates GitHub Actions workflow to use it.
As a result the minimum version of GLIBC that Linux users need to have
installed on their system is 2.17 which was released in 2012.
- windows-latest now uses windows-2022 which has Visual Studio 17 2022.
- Update cmake version from 3.15.4 to 3.23.2 which has generator for the
newer version of Visual Studio.
- Enable tests for osx.universal platform.
- Export HTML5 (but skip upload as .cast files aren't exported
properly).
- HACK: Use HTML5 export to generate .import directory for tests
This way we don't get an error message even if using
`continue-on-error` set to `true`.
Currently tests only run on X11.64 platform.
But other platforms can be supported with a bit of effort.
Remove default bell sound as it does not play nicely with CI environment
that does not have sound card.
Currently only works when building with debug target. On GitHub actions
target release results in linking errors. So disable PTY for release
builds.
Part of #25.
Uses fork of node-pty native code for forking pseudoterminals.
Uses libuv pipe handle to communicate with the child process.
- Paves the way for cross-platform (Linux, macOS and Windows) support.
- Renames Pseudoterminal to PTY (which is much easier to type and spell :D).
- Better performance than the old Pseudoterminal node. Especially when
streaming large amounts of data such as running the `yes` command.
- Allows setting custom file, args, initial window size, cwd, env vars
(including important ones such as TERM and COLORTERM) and uid/gid
on Linux and macOS.
- Returns process exit code and terminating signal.
- Uses matrix so that build steps don't need to be defined multiple
times.
- Caches godot-cpp bindings, so they only need to be built when the
submodule version changes.
- Uploads build artifacts for linux 32/64-bit, windows 64-bit and macOS
64-bit.