Commit graph

20 commits

Author SHA1 Message Date
Rémi Verschelde
bfd5226a8d CI: Pin Emscripten version for reproducible builds
Emscripten is a fast-moving target which gets tons of improvements all the time,
but it's not rare that some regressions affect us and make our CI builds fail.
(See e.g. #33728, #35237, #39168, #40563, and #40914.)

Let's pin to a stable version to avoid having external factors impact our CI,
and update this version manually regularly in a PR to ensure that the new
version works well for us.
2020-07-31 14:19:40 +02:00
Andrii Doroshenko (Xrayez)
ceb338d672 CI: Show tests=yes for builds which run tests 2020-07-30 14:00:45 +03:00
Rémi Verschelde
f940e5e000 CI: Install master version of psf/black
Until https://github.com/psf/black/pull/1328 makes it in a stable release,
we have to use the latest from Git.

Apply new style fixes done by latest black.
2020-07-26 19:48:25 +02:00
Rémi Verschelde
bf257adbf5 CI: Add iOS build on GitHub Actions 2020-07-25 21:55:49 +02:00
Andrii Doroshenko (Xrayez)
f6465f46b4 SCons: Add tests option to enable or disable unit tests 2020-07-25 18:44:18 +03:00
RevoluPowered
579342810f t Add unit testing to Godot using DocTest and added to GitHub Actions CI
Implements exit codes into the engine so tests can return their statuses.
Ideally we don't do this, and we use FIXUP logic to 'begin' and 'end' the engine execution for tests specifically.

Since realistically we're initialising the engine here we don't want to do that, since String should not require an engine startup to test a single header.

This lowers the complexity of running the unit tests and even for
physics should be possible to implement such a fix.
2020-07-24 13:05:33 +01:00
Rémi Verschelde
2cf5ad9ea9 CI: Fix cache key and include base branch
The base branch is hardcoded as an env variable as I couldn't find a simple
way to just get either `3.2` or `master`. But it's easy to change when we
branch off from `master` to a new stable branch, which doesn't happen often.

(There's `{{github.base_ref}}` but it's probably more verbose like
`ref/heads/master`, and only valid for PRs.)
2020-07-24 08:28:43 +02:00
Gordon MacPherson
afdce1e30c Improve the cache keys to prevent clashes for the wrong type of build 2020-07-24 00:15:23 +01:00
Gordon MacPherson
3c07d0ff32 Clamp scons cache to 4096 MB 2020-07-24 00:14:03 +01:00
Rémi Verschelde
0e294e6d25 CI: Add Mono support to Linux builds on GitHub Actions
Mono seems to be preinstalled in the build environment \o/
2020-07-24 00:29:11 +02:00
Rémi Verschelde
cc530fdbe4 CI: Add GitHub Action build for JavaScript
Uses mymindstorm/setup-emsdk to install Emscripten and set up
caching for Emscripten's generated system libraries.
2020-07-24 00:06:34 +02:00
thebestnom
383ad22ee7 CI: Added Android GitHub Action 2020-07-23 19:36:53 +03:00
Aaron Franke
e5df1362df
Split CI builds into workflows for each OS 2020-07-21 15:12:16 -04:00
Rémi Verschelde
431930bd09 CI: Drop AppVeyor and desktop Travis builds
These have been replaced by GitHub Actions.
The remaining Travis builds will also be ported eventually.
2020-07-20 10:35:53 +02:00
RevoluPowered
d560f654ff fix CI builds on linux by using ubuntu default apt repositories 2020-07-20 09:51:12 +02:00
Gordon MacPherson
7bbae98094 added MacOS and Linux to GitHub Actions 2020-07-15 13:42:54 +01:00
Aaron Franke
61c9f11434
Globally install Python libraries in GitHub Actions
Otherwise it uses ~/.local/bin which GitHub doesn't include in PATH
2020-07-14 04:29:03 -04:00
Aaron Franke
9986439352
Commit other files changed by file_format.sh 2020-07-13 14:14:11 -04:00
Aaron Franke
79a2e4c1ab
Add static formatting checks for GitHub Actions 2020-07-13 14:06:13 -04:00
Gordon MacPherson
04592af5a4 Use GitHub Actions instead of AppVeyor for Windows platform
This was based on quarmin's initial configuration, we had compile issues with AppVeyor being super slow and GitHub actions will take less time and also manage a full rebuild in 30 minutes.

This adds cache handling and will work with MSVC and scons 4.0, it will build for every PR submitted to the Godot Engine, and also for the branches specified. I have tested the caching and it seems to be working.

I left the 'publish artefacts' disabled until we can request more storage from Microsoft, 5 GB is far to low for us and we would eat this limit very fast. (it is tested and works fine)

Co-authored-by: Rafał Mikrut <mikrutrafal54@gmail.com>
2020-07-12 19:44:49 +01:00