Commit graph

87 commits

Author SHA1 Message Date
Leroy Hopson
3fdc9ef27e
Add Docker build for Linux
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.
2022-07-11 09:33:00 +12:00
Leroy Hopson
3670856851
Update Visual Studio version
- 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.
2022-07-11 09:33:00 +12:00
Leroy Hopson
5108c7cabd
Extract submodule cache steps to compound action
Creates a reusable action for caching submodules in the thirdparty
directory.
2022-07-11 09:33:00 +12:00
Leroy Hopson
28521b9d7a
Update setup-godot: v0.1.1 -> v1.0.0 2022-07-11 09:33:00 +12:00
Leroy Hopson
57dadf7db2
Support universal (x86_64/arm64) builds for macOS
The macOS binary (libgodot-xterm.osx.64.dylib) is now a universal binary
that runs natively on both x86_64 and arm64.
2022-07-11 09:33:00 +12:00
Leroy Hopson
42c9f284be
Fix apt 2022-03-07 11:45:54 +07:00
Leroy Hopson
a41ac2d6f6
Test against newer versions of Godot
- v3.4.3-stable
- v3.5-beta1
2022-03-07 11:39:31 +07:00
Leroy Hopson
4d74041d1d
Update target Godot and Emscripten versions
Godot: 3.3.2-stable -> 3.4.2-stable
Emscripten: 2.0.10 -> 3.1.5
2022-02-24 10:59:02 +07:00
Leroy Hopson
a4103b2df0
Build and test daily 2021-12-17 15:48:09 +07:00
Leroy Hopson
bef632db42
Update setup-godot action v0.1.0 -> v0.1.1 2021-12-17 15:32:02 +07:00
Leroy Hopson
b0e8f0053b
Update Godot versions to test with
3.3.2-stable -> 3.3.4-stable
3.4-beta1 -> 3.4-stable
2021-11-08 09:56:12 +07:00
Leroy Hopson
8e80ba46fa
Upgrade setup-godot action to v0.1.0 2021-11-08 09:46:13 +07:00
Leroy Hopson
08f2cd5376
Download plugins to correct location
Means that Gut tests can actually run. Previously they were not running
because gut could not be found in addons/ directory.
2021-11-08 09:29:46 +07:00
Leroy Hopson
f555831915
Update all tests to use setup-godot action
- Adds support for Ubuntu 32bit.
- Also test only release binaries to keep the number of test jobs under
control.
2021-07-24 16:50:54 +07:00
Leroy Hopson
bec14fee14
Enable tests for v3.2
OS.set_environment() not available in v3.2 so create a new gut config
file that skips these tests for v3.2.
2021-07-23 22:07:57 +07:00
Leroy Hopson
bb18df817d
Use setup-godot GitHub Action for tests
Allows testing on Windows platform.
2021-07-23 22:07:25 +07:00
Leroy Hopson
16d231fc63
Update tests
- 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`.
2021-07-20 12:02:23 +07:00
Leroy Hopson
3e67cfd877
Add export ignored files to .gitattributes
Move THIRDPARTY_NOTICE files to addons/godot_xterm so they will be
included with asset-lib downloads.
2021-07-19 00:49:37 +07:00
Leroy Hopson
3e2162d366
Add basic .xrdb/.Xresources import plugin
Adds basic support for importing .Xresources and .xrdb files as Theme
resources.

Examples of terminal color schemes in .xrdb format can be found here:
https://github.com/mbadolato/iTerm2-Color-Schemes/tree/master/xrdb

Examples of terminal themes in .Xresources format can be found here:
https://github.com/mbadolato/iTerm2-Color-Schemes/tree/master/Xresources

https://terminal.sexy also supports exporting themes is Xresources
format.
2021-07-19 00:10:16 +07:00
Leroy Hopson
b08d218a59
Run tests in CI environment
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.
2021-07-18 23:05:17 +07:00
Leroy Hopson
8bc3a13adb
Fix windows builds
- Fixes build error for windows debug 32bit.
- Allows building windows release with PTY enabled.
- Updates godot-cpp.
2021-07-18 17:00:55 +07:00
Leroy Hopson
84243cd824
Enable compiling Pipe and LibuvUtils on Windows
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.
2021-07-18 15:09:21 +07:00
Leroy Hopson
748941f7ff
Don't run GitHub actions on pull_request
This is already covered by push, so we can prevent running jobs twice.
2021-07-07 22:12:36 +07:00
Leroy Hopson
964af715d6 Enable Windows 32bit builds
Closes #24
2021-07-03 16:15:18 +07:00
Leroy Hopson
0dd2378387 Add new PTY node (replaces Pseudoterminal node)
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.
2021-07-03 14:56:27 +07:00
Leroy Hopson
ca7def60e8
Don't cancel all in-progress jobs if a single one fails
It is useful to get results from all jobs, whether or not a single one
fails.
2021-07-03 01:17:02 +07:00
Leroy Hopson
0437d0f18c
Rename directory 'external' -> 'thirdparty' 2021-06-12 15:10:42 +07:00
Leroy Hopson
9e8bc713e7
Run workflow on all push and pull events 2021-06-08 23:02:41 +07:00
Leroy Hopson
bb8d40df58 Add HTML5 support 2021-06-07 18:29:33 +07:00
Leroy Hopson
a71df27bab Upload separate debug and release artifacts 2020-11-23 09:13:32 +07:00
Leroy Hopson
55e2e0cc8b Install scons using pre-installed python
This should be faster than installing python via chocolatey.
2020-11-23 09:13:32 +07:00
Leroy Hopson
4cc2115125 Build windows releases with /MT rather than /MD
When making a release export of a project, binaries built with the /MD
flag do not work.
2020-11-23 09:13:32 +07:00
Leroy Hopson
c99a9b4a2e Remove docker builds
They are too slow and don't really test anything special.
2020-11-23 09:13:32 +07:00
Leroy Hopson
b2dc46636c Update github actions workflow
- 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.
2020-11-21 12:20:13 +07:00
Leroy Hopson
c075ae7418 Enable compiling on macOS 64-bit using llvm
Closes #6
2020-11-20 21:32:43 +07:00
Leroy Hopson
007182b117 Enable compiling 64-bit on Windows using MSVC
Closes #5
2020-11-10 13:44:29 +07:00
Leroy Hopson
43df7d5331 Migrate CI from travis-ci.com to GitHub Actions 2020-11-07 17:11:25 +07:00