diff --git a/.travis.yml b/.travis.yml index 3082e1a1..bef3a69a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,35 +1,28 @@ language: generic -dist: xenial sudo: false - +dist: xenial branches: except: - ___TGS3TempBranch - ___TGSTempBranch - matrix: include: - - name: "Run Linters" + - env: + - BUILD_TOOLS=true + name: "Build Tools" addons: apt: packages: - python3 - python3-pip - python3-setuptools - install: - - tools/travis/install_build_tools.sh - - tools/travis/install_dreamchecker.sh - script: - - tools/travis/check_filedirs.sh tgstation.dme - - tools/travis/check_changelogs.sh - - find . -name "*.php" -print0 | xargs -0 -n1 php -l - - find . -name "*.json" -not -path "./tgui/node_modules/*" -print0 | xargs -0 python3 ./tools/json_verifier.py - - tools/travis/build_tgui.sh - - tools/travis/check_grep.sh - - python3 tools/travis/check_line_endings.py - - ~/dreamchecker - - - name: "Compile All Maps" + cache: + directories: + - tgui/node_modules + - env: + - BUILD_TESTING=true + - BUILD_TOOLS=false + name: "Build All Maps" addons: apt: packages: @@ -37,15 +30,10 @@ matrix: cache: directories: - $HOME/BYOND - install: - - tools/travis/install_byond.sh - - source $HOME/BYOND/byond/bin/byondsetup - before_script: - - tools/travis/template_dm_generator.py - script: - - tools/travis/dm.sh -DTRAVISBUILDING -DTRAVISTESTING -DALL_MAPS tgstation.dme - - - name: "Compile and Run Tests" + - env: + - BUILD_TESTING=false + - BUILD_TOOLS=false + name: "Build and Run Unit Tests" addons: mariadb: '10.2' apt: @@ -53,6 +41,7 @@ matrix: - ubuntu-toolchain-r-test packages: - libstdc++6:i386 + - libssl-dev:i386 - gcc-multilib - g++-7 - g++-7-multilib @@ -60,19 +49,25 @@ matrix: - libmariadbd-dev cache: directories: + - $HOME/.cargo - $HOME/BYOND - - $HOME/libmariadb - install: - - tools/travis/install_byond.sh - - source $HOME/BYOND/byond/bin/byondsetup - - tools/travis/install_libmariadb.sh - - tools/travis/install_rust_g.sh - before_script: - - mysql -u root -e 'CREATE DATABASE tg_travis;' - - mysql -u root tg_travis < SQL/tgstation_schema.sql - - mysql -u root -e 'CREATE DATABASE tg_travis_prefixed;' - - mysql -u root tg_travis_prefixed < SQL/tgstation_schema_prefixed.sql - - tools/travis/build_bsql.sh - script: - - tools/travis/dm.sh -DTRAVISBUILDING tgstation.dme || travis_terminate 1 - - tools/travis/run_server.sh + - $HOME/MariaDB + - $HOME/.rustup + +install: + - tools/travis/install_build_tools.sh + - if [ $BUILD_TOOLS = false ] && [ $BUILD_TESTING = false ]; then mysql -u root -e 'CREATE DATABASE tg_travis;'; fi + - if [ $BUILD_TOOLS = false ] && [ $BUILD_TESTING = false ]; then mysql -u root tg_travis < SQL/tgstation_schema.sql; fi + - if [ $BUILD_TOOLS = false ] && [ $BUILD_TESTING = false ]; then mysql -u root -e 'CREATE DATABASE tg_travis_prefixed;'; fi + - if [ $BUILD_TOOLS = false ] && [ $BUILD_TESTING = false ]; then mysql -u root tg_travis_prefixed < SQL/tgstation_schema_prefixed.sql; fi + +before_script: + - tools/travis/before_build_tools.sh + - tools/travis/before_build_byond.sh + +script: + - tools/travis/check_filedirs.sh tgstation.dme + - tools/travis/build_tools.sh || travis_terminate 1 + - tools/travis/build_dependencies.sh || travis_terminate 1 + - tools/travis/build_byond.sh +