mirror of
https://github.com/4ian/GDevelop.git
synced 2025-10-15 10:19:04 +00:00
115 lines
3.0 KiB
YAML
115 lines
3.0 KiB
YAML
# Travis CI configuration to build and run all tests
|
|
# (and typing/formatting) for the Core, newIDE, GDJS.
|
|
#
|
|
# This builds GDevelop.js and store it on a S3 so it can be used to run
|
|
# GDevelop without building it.
|
|
#
|
|
# See also Semaphore CI for quick tests (not building GDevelop.js, so
|
|
# faster but not always reliable).
|
|
|
|
language: cpp
|
|
sudo: false
|
|
compiler:
|
|
- clang
|
|
|
|
# Cache .npm folder for faster npm install
|
|
cache:
|
|
directories:
|
|
- $HOME/.npm
|
|
|
|
env:
|
|
global:
|
|
- GCC_VERSION="4.8"
|
|
|
|
services:
|
|
# Virtual Framebuffer 'fake' X server for SFML
|
|
- xvfb
|
|
|
|
addons:
|
|
artifacts:
|
|
s3_region: "us-east-1"
|
|
target_paths:
|
|
- /$(if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then echo $TRAVIS_BRANCH; else echo $TRAVIS_PULL_REQUEST_BRANCH; fi)/commit/$(git rev-parse HEAD)
|
|
- /$(if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then echo $TRAVIS_BRANCH; else echo $TRAVIS_PULL_REQUEST_BRANCH; fi)/latest
|
|
paths:
|
|
- Binaries/embuild/GDevelop.js
|
|
apt:
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
packages:
|
|
# Build dependencies:
|
|
- cmake
|
|
- p7zip-full
|
|
- g++-4.8
|
|
# SFML dependencies:
|
|
- libopenal-dev
|
|
- libjpeg-dev
|
|
- libglew-dev
|
|
- libudev-dev
|
|
- libxrandr-dev
|
|
- libsndfile1-dev
|
|
- libglu1-mesa-dev
|
|
- libfreetype6-dev
|
|
|
|
before_install:
|
|
#Activate X Virtual Framebuffer to allow tests to
|
|
#use SFML.
|
|
- "export DISPLAY=:99.0"
|
|
# This workaround is required to avoid libstdc++ errors (Emscripten requires a recent version of libstdc++)
|
|
- wget -q -O libstdc++6 http://security.ubuntu.com/ubuntu/pool/main/g/gcc-5/libstdc++6_5.4.0-6ubuntu1~16.04.12_amd64.deb
|
|
- sudo dpkg --force-all -i libstdc++6
|
|
|
|
install:
|
|
#Get the correct version of gcc/g++
|
|
- if [ "$CXX" = "g++" ]; then export CXX="g++-${GCC_VERSION}" CC="gcc-${GCC_VERSION}"; fi
|
|
#Compile the tests only for GDCore
|
|
- mkdir .build-tests
|
|
- cd .build-tests
|
|
- cmake -DBUILD_GDJS=FALSE -DBUILD_TESTS=TRUE -DCMAKE_CXX_COMPILER=$(which $CXX) -DCMAKE_C_COMPILER=$(which $CC) ..
|
|
- make -j 4
|
|
- cd ..
|
|
# Install Emscripten (for GDevelop.js)
|
|
- git clone https://github.com/juj/emsdk.git
|
|
- cd emsdk
|
|
- ./emsdk install 1.39.6
|
|
- ./emsdk activate 1.39.6
|
|
- source ./emsdk_env.sh
|
|
- cd ..
|
|
# Install GDevelop.js dependencies and compile it
|
|
- cd GDevelop.js
|
|
- npm install -g grunt-cli
|
|
- npm install
|
|
- npm run build
|
|
- cd ..
|
|
#Install newIDE tests dependencies
|
|
- cd newIDE/app && npm install
|
|
- cd ../..
|
|
#Install GDJS tests dependencies
|
|
- cd GDJS && npm install && cd tests && npm install
|
|
- cd ../..
|
|
|
|
script:
|
|
# GDCore tests:
|
|
- cd .build-tests
|
|
- Core/GDCore_tests
|
|
- cd ..
|
|
# GDevelop.js tests
|
|
- cd GDevelop.js
|
|
- npm test
|
|
- cd ..
|
|
# newIDE tests:
|
|
- cd newIDE/app
|
|
- npm test
|
|
- npm run flow
|
|
- npm run check-format
|
|
- npm run check-script-types
|
|
- cd ../..
|
|
# GDJS tests:
|
|
- cd GDJS
|
|
- npm run check-format
|
|
- cd ..
|
|
# GDJS game engine tests, disabled on Travis CI because ChromeHeadless can't be started.
|
|
# See them running on Semaphore-CI instead: https://gdevelop.semaphoreci.com/projects/GDevelop
|
|
# - cd GDJS/tests && npm test
|
|
# - cd ../..
|