Commit Graph

83 Commits

Author SHA1 Message Date
Rémi Verschelde dbb3f992a4 Travis: Temporarily disable macOS builds
Travis CI has had trouble the past few days and macOS builds error out
for no reason.
2020-03-22 09:11:04 +01:00
Fabio Alessandrelli 919bbf8077 [HTML5] Refactor JS, threads support, closures.
- Refactored the Engine code, splitted across files.
- Use MODULARIZE option to build emscripten code into it's own closure.
- Enable lto support (saves ~2MiB in release).
- Enable optional closure compiler pass for JS and generated code.
- Enable optional pthreads support.
- Can now build with tools=yes (not much to see yet).
- Dropped some deprecated code for older toolchains.
2020-03-11 16:09:31 +01:00
Fabio Alessandrelli 0f78113529 Add Javascript to CI (export template, release). 2020-03-08 03:35:13 +01:00
Rémi Verschelde c418966623 Travis: Use Python 3.8 alias instead of specific version
Otherwise it breaks when they update the container to a new version,
like they did today with 3.7.6.
2020-02-25 10:30:51 +01:00
Rémi Verschelde a92e2eb317 Travis: Use Xcode 11.3 for macOS/iOS
Xcode 10+ is needed for exhaustive C++17 support (gnu++17).

11.3 is the latest available version on Travis, and we don't have a
specific reason not to use it.

Follow-up to #36457.
2020-02-22 22:31:29 +01:00
Rémi Verschelde 6bb075a53f Travis: Use Ubuntu 18.04 (bionic) as base image
It's now available and allows us to have a better default environment,
with GCC 7.4.0 and Clang 7.

We now need GCC 7+ for C++17 support so it's more efficient to upgrade
the image than to install it on Ubuntu 16.04 (xenial).

Also fixes a couple -Wdeprecated-declarations warnings on macOS now
that we build against macOS 10.12.
2020-02-22 20:00:28 +01:00
Rémi Verschelde 1b01896e90 Travis: Force updating homebrew on macOS
Temporary workaround for https://travis-ci.community/t/macos-build-fails-because-of-homebrew-bundle-unknown-command/7296
2020-02-21 09:27:18 +01:00
Rémi Verschelde 49fec646cb Fix compilation warnings and re-enable werror=yes on Travis
Fix -Wunused-variable, -Wunused-but-set-variable and -Wswitch warnings
raised by GCC 8 and 9.

Fix -Wunused-function, -Wunused-private-field and
-Wtautological-constant-out-of-range-compare raised by Clang.

Fix MSVC 2019 warning C4804 (unsafe use of type 'bool' in comparison
operation).

GCC -Wcpp warnings/Clang -W#warnings (`#warning`) are no longer raising
errors and will thus not abort compilation with `werror=yes`.

Treat glslang headers are system headers to avoid raising warnings.

Re-enables us to build with `werror=yes` on Linux and macOS, thus
catching warnings that would be introduced by new code.

Fixes #36132.
2020-02-18 20:51:25 +01:00
bruvzg 0ce4433686 Restore parts of #33783 and #32809 missing after rebase. 2020-02-11 12:06:30 +01:00
Rémi Verschelde fff4240bb4 Fix code formatting issues and VS compilation
Also temporarily disable multicheck build so that we get a full build
even when there are style issues on Vulkan.

Fixes #33356.
2020-02-11 12:05:19 +01:00
bruvzg eb48be51db Add static Vulkan loader.
Initial Vulkan support for Windows.
Initial Vulkan support for macOS.
2020-02-11 11:57:11 +01:00
Rémi Verschelde 83ec7cc425 Travis: Use Python 3 for SCons 2020-02-10 10:30:44 +01:00
Rémi Verschelde 9ef0e06781 Travis: Disable -Wstrict-aliasing warning on GCC 5 test build
Should speed up builds by avoiding warning spam.
This warning is no longer raised by newer GCC versions.
2020-01-16 12:38:06 +01:00
Rémi Verschelde 7f62ee69b1 Travis: Fix reporting clang-format errors after #34097 2019-12-16 08:46:36 +01:00
Hugo Locurcio bc4dbcf793
Travis CI: Run `makerst.py` to check for documentation errors 2019-12-04 08:51:32 +01:00
Rémi Verschelde 95f1f4e82a Travis: Drop support for coverity_scan, we do not use it
The UX is pretty bad, and the fact that all reports are private by
default with no option to make them public makes Coverity Scan hardly
usable in a community-driven project.
2019-11-19 12:14:46 +01:00
Rémi Verschelde ab4b57de1f Travis: Force installing OpenJDK8 for Android SDK compatibility
Travis CI upgraded their Xenial VMs to default to openjdk11, which
is not working properly for sdkmanager, so we can no longer accept
licenses for the SDK.

They don't really seem to care about providing a good alternative
for us from the few threads I read, so let's just force openjdk8
back.
2019-10-26 14:28:07 +02:00
bruvzg 7b64340eb0
Fix compilation warnings in macOS build, enable `warnings=extra werror=yes` for macOS CI. 2019-10-24 20:37:56 +03:00
Rémi Verschelde a99b7a5f88 Travis: Make scons cache branch-specific 2019-09-27 13:35:33 +02:00
Rémi Verschelde 0bbb8d22c4 Travis: Fix builds wrongly reporting success after #31013
Seems to be a 5 year old bug that upstream doesn't care about.
https://github.com/travis-ci/travis-ci/issues/1066
2019-08-27 15:38:08 +02:00
Hugo Locurcio 5efd43609b
Travis CI: Test project exporting/script running in the headless editor 2019-08-20 17:35:55 +02:00
Hugo Locurcio 1b7be55bac
Travis CI: Use a multi-stage build to run static checks first
This prevents Travis CI from performing full builds if static checks
have failed.

This also removes `sudo: false` as it is deprecated.
2019-08-18 15:08:21 +02:00
Martin Liska c8de5760bd Use GCC 9 in travis. 2019-07-02 13:28:48 +02:00
Ibrahn Sahir 5e24611241 Png driver reworked to use libpng 1.6 simplified API
Wrapped libpng usage in a pair of functions under PNGDriverCommon,
which convert between Godot Image and png data.
Switched to libpng 1.6 simplified API for ease of maintenance.
Implemented ImageLoaderPNG and ResourceSaverPNG in terms of
PNGDriverCommon functions.
Travis, switched to builtin libpng (thus builtin freetype and zlib also)
so we can build on Xenial.
2019-06-19 11:05:58 +01:00
Hugo Locurcio b29387c859
Travis CI: Build Linux export template with `disable_3d=yes`
This increases the build coverage by making sure the Linux
export template still compiles when 3D support is disabled.

This also adds human-readable names to each job, which are displayed
on the Travis CI interface.
2019-06-02 19:45:46 +02:00
Rémi Verschelde b00d7bfc3f Travis: Update clang-format to version 8.0 2019-05-20 14:35:56 +02:00
marxin e7f22ebdcd Enable warnings=extra on clang and GCC testers.
And remove 2 warnings from warnings=extra.
2019-04-02 17:14:47 +02:00
Rémi Verschelde 5774155d6a Travis: Use Ubuntu 16.04, use GCC 8 for Linux/GCC builds
Also add one GCC 5 legacy build job for debug template.
2019-02-19 14:17:22 +01:00
marxin 8fbf69a4f4 Enable warnings=all and werror=yes for gcc-8 GCC builder. 2019-02-19 10:43:28 +01:00
marxin 6b76145694 Add gcc-8 to Travis. 2019-02-19 10:29:33 +01:00
Rémi Verschelde ffc0792798 Travis: Use pip to install SCons on OSX
Not sure why we switched from homebrew to scons-local anymore,
but pip should work just fine and is recommended by upstream.

Downloads of scons-local from SourceForge were quite iffy, so
this should help avoid CI errors due to not having downloaded
SCons successfully.

Setting Python's user binary PATH seems necessary on Travis/OSX
as per travis-ci/travis-ci#5030 (confirmed that 'scons' is not
in PATH without it).
2019-01-09 13:39:46 +01:00
Ignacio Etcheverry 611a476224 Support globs in csproj includes 2018-10-25 18:00:17 +02:00
Rémi Verschelde 6bb5ee0ded Travis: Enable 'werror' for X11 and Android builds
They are currently warning-free, so let's keep it that way.
2018-10-04 15:38:43 +02:00
Hugo Locurcio 87ba7de328
Build some targets in release and release_debug mode on Travis CI
This makes sure the release code path is tested in CI builds.

This closes #22147.
2018-09-17 11:11:32 +02:00
Rémi Verschelde 1f3aa6890f Travis: Move Coverity module to x11-tools-mono-gcc build
Update Coverity Scan secure token, previous one expired.
2018-08-29 12:16:10 +02:00
Rémi Verschelde e71c20099c CI: Disable debug_symbols on Travis/AppVeyor
Also increase AppVeyor cache size to 1024,
should match what is available for us in the free plan:
https://www.appveyor.com/docs/build-cache/#cache-size-beta

And drop obsolete debug_release option for Windows, superseded
by target=release and debug_symbols=yes.
2018-08-21 12:36:57 +02:00
Hugo Locurcio 2450debc0e
Use Xcode 9.4 on Travis CI
See <https://blog.travis-ci.com/2018-07-19-xcode9-4-default-announce>.
2018-08-04 18:31:44 +02:00
Rémi Verschelde 22b176f69d Travis: Install libstdc++ >= 4.9 for clang-format-6.0 2018-07-18 17:39:05 +02:00
Rémi Verschelde 003ac67df1 Travis: Update style checks to clang-format 6.0.1 2018-07-18 16:29:43 +02:00
Rémi Verschelde 7bf0c134a7 Travis: Build Mono module in linux tools job 2018-06-15 13:10:21 +02:00
Rémi Verschelde c58f73fd35 Travis: Make dependencies follow the matrix requirements
Also make the coverity addon only applied to the static checks build job.
2018-06-15 12:36:35 +02:00
Rémi Verschelde f827dcba44 Travis: Cleanup build matrix
Remove unused MinGW config, switch server build to gcc/tools.
Update COVERITY_SCAN_TOKEN's secure.
2018-06-15 12:36:33 +02:00
Rémi Verschelde 1e19e2846d Travis: Add server build with clang 2018-05-10 21:50:26 +02:00
Rémi Verschelde 38fe9ae694 Travis: Enforce Coverity Scan on STATIC_CHECKS Linux/gcc build job
Also ensure that we are not using cached build objects (need to build
from scratch), and update encrypted Coverity Scan token.
2018-04-12 13:45:26 +02:00
Rémi Verschelde 6862cd7bf1 Travis: Remove unnecessary/obsolete before_install call
It comes from the Coverity documentation but it fails, and their example projects don't use it.
2018-04-12 11:09:55 +02:00
Rémi Verschelde 5fcf938909 Travis: Add setup for Coverity Scan 2018-04-12 10:59:19 +02:00
Rémi Verschelde 040e9ecae0 Travis: Use XCode 9.3 / macOS 10.13 for osx/iphone builds 2018-04-10 15:02:48 +02:00
Rémi Verschelde 6c2d36271d Travis: Reenable osx and iphone builds
We disabled them due to Travis having big infrastructure issues for osx builds,
but it seems to be back under control now.
2018-04-10 12:42:27 +02:00
Fabio Alessandrelli 6fcc8b7e1f Deleting OpenSSL module and library 2018-02-14 01:26:34 +01:00
Fabio Alessandrelli f3abd4a065 Travis builds use builtin_openssl for X11
1.0.2 is now the minimum version of openssl to build against
2018-02-06 14:10:13 +01:00