diff --git a/.travis.yml b/.travis.yml index fa42ba3aef..e6e701c7ec 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,6 +9,7 @@ env: - BYOND_MINOR="1418" - NODE_VERSION="4" - RUST_G_VERSION="0.3.0" +<<<<<<< HEAD - BUILD_TOOLS=false - BUILD_TESTING=false - DM_MAPFILE="loadallmaps" @@ -33,9 +34,55 @@ addons: - python3 - python3-pip - libssl-dev:i386 +======= +matrix: + include: + - env: + - BUILD_TOOLS=true + addons: + apt: + packages: + - python3 + - python3-pip + cache: + directories: + - tgui/node_modules + - env: + - BUILD_TESTING=true + - BUILD_TOOLS=false + addons: + apt: + packages: + - libc6-i386 + - libstdc++6:i386 + cache: + directories: + - $HOME/BYOND-${BYOND_MAJOR}.${BYOND_MINOR} + - env: + - BUILD_TESTING=false + - BUILD_TOOLS=false + addons: + mariadb: '10.2' + apt: + packages: + - libc6-i386 + - libstdc++6:i386 + - libssl-dev:i386 + - gcc-multilib + cache: + directories: + - $HOME/BYOND-${BYOND_MAJOR}.${BYOND_MINOR} + - $HOME/libmariadb + - $HOME/.rustup + - $HOME/.cargo +>>>>>>> a38ef37... Adds SQL to travis. Other travis optimizations (#38325) 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 diff --git a/SQL/tgstation_schema.sql b/SQL/tgstation_schema.sql index 682132e29e..dad9f1e766 100644 --- a/SQL/tgstation_schema.sql +++ b/SQL/tgstation_schema.sql @@ -450,15 +450,14 @@ CREATE TABLE `schema_revision` ( PRIMARY KEY (`major`, `minor`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -DELIMITER -$$ +DELIMITER $$ CREATE TRIGGER `role_timeTlogupdate` AFTER UPDATE ON `role_time` FOR EACH ROW BEGIN INSERT into role_time_log (ckey, job, delta) VALUES (NEW.CKEY, NEW.job, NEW.minutes-OLD.minutes); END $$ CREATE TRIGGER `role_timeTloginsert` AFTER INSERT ON `role_time` FOR EACH ROW BEGIN INSERT into role_time_log (ckey, job, delta) VALUES (NEW.ckey, NEW.job, NEW.minutes); END $$ -CREATE TRIGGER `role_timeTlogdelete` AFTER DELETE ON `role_time` FOR EACH ROW BEGIN INSERT into role_time_log (ckey, job, delta) VALUES (OLD.ckey, OLD.job, 0-OLD.minutes); +CREATE TRIGGER `role_timeTlogdelete` AFTER DELETE ON `role_time` FOR EACH ROW BEGIN INSERT into role_time_log (ckey, job, delta) VALUES (OLD.ckey, OLD.job, 0-OLD.minutes); END $$ diff --git a/SQL/tgstation_schema_prefixed.sql b/SQL/tgstation_schema_prefixed.sql index a1555cd925..8c9b15e894 100644 --- a/SQL/tgstation_schema_prefixed.sql +++ b/SQL/tgstation_schema_prefixed.sql @@ -450,15 +450,14 @@ CREATE TABLE `SS13_schema_revision` ( PRIMARY KEY (`major`,`minor`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -DELIMITER -$$ -CREATE TRIGGER `role_timeTlogupdate` AFTER UPDATE ON `role_time` FOR EACH ROW BEGIN INSERT into role_time_log (ckey, job, delta) VALUES (NEW.CKEY, NEW.job, NEW.minutes-OLD.minutes); +DELIMITER $$ +CREATE TRIGGER `SS13_role_timeTlogupdate` AFTER UPDATE ON `SS13_role_time` FOR EACH ROW BEGIN INSERT into SS13_role_time_log (ckey, job, delta) VALUES (NEW.CKEY, NEW.job, NEW.minutes-OLD.minutes); END $$ -CREATE TRIGGER `role_timeTloginsert` AFTER INSERT ON `role_time` FOR EACH ROW BEGIN INSERT into role_time_log (ckey, job, delta) VALUES (NEW.ckey, NEW.job, NEW.minutes); +CREATE TRIGGER `SS13_role_timeTloginsert` AFTER INSERT ON `SS13_role_time` FOR EACH ROW BEGIN INSERT into SS13_role_time_log (ckey, job, delta) VALUES (NEW.ckey, NEW.job, NEW.minutes); END $$ -CREATE TRIGGER `role_timeTlogdelete` AFTER DELETE ON `role_time` FOR EACH ROW BEGIN INSERT into role_time_log (ckey, job, delta) VALUES (OLD.ckey, OLD.job, 0-OLD.minutes); +CREATE TRIGGER `SS13_role_timeTlogdelete` AFTER DELETE ON `SS13_role_time` FOR EACH ROW BEGIN INSERT into SS13_role_time_log (ckey, job, delta) VALUES (OLD.ckey, OLD.job, 0-OLD.minutes); END $$ diff --git a/tools/travis/before_build_byond.sh b/tools/travis/before_build_byond.sh index 8cfe0a1cf6..24a53ebe4e 100755 --- a/tools/travis/before_build_byond.sh +++ b/tools/travis/before_build_byond.sh @@ -6,7 +6,7 @@ if [ "$BUILD_TOOLS" = true ]; then exit 0 fi; echo "Combining maps for building" -if [ "$DM_MAPFILE" = "loadallmaps" ]; then +if [ $BUILD_TESTING = true ]; then python tools/travis/template_dm_generator.py fi; diff --git a/tools/travis/build_byond.sh b/tools/travis/build_byond.sh index a25b6a5cff..752418ccb3 100755 --- a/tools/travis/build_byond.sh +++ b/tools/travis/build_byond.sh @@ -41,17 +41,33 @@ if [ "$BUILD_TOOLS" = false ]; then exit 1 fi; - #config folder should not be mandatory - rm -rf config/* - - #disable all ruins - echo -e "LAVALAND_BUDGET 0\nSPACE_BUDGET 0" > config/config.txt - source $HOME/BYOND-${BYOND_MAJOR}.${BYOND_MINOR}/byond/bin/byondsetup if [ "$BUILD_TESTING" = true ]; then tools/travis/dm.sh -DTRAVISBUILDING -DTRAVISTESTING -DALL_MAPS tgstation.dme else - tools/travis/dm.sh -DTRAVISBUILDING tgstation.dme && DreamDaemon tgstation.dmb -close -trusted -params "test-run&log-directory=travis" + tools/travis/dm.sh -DTRAVISBUILDING tgstation.dme + + #config folder should not be mandatory + rm -rf config/* + + #test config + cp tools/travis/travis_config.txt config/config.txt + + # get libmariadb, cache it so limmex doesn't get angery + if [ -f $HOME/libmariadb ]; then + #travis likes to interpret the cache command as it being a file for some reason + rm $HOME/libmariadb + mkdir $HOME/libmariadb + fi + if [ ! -f $HOME/libmariadb/libmariadb.so ]; then + wget http://www.byond.com/download/db/mariadb_client-2.0.0-linux.tgz + tar -xvf mariadb_client-2.0.0-linux.tgz + mv mariadb_client-2.0.0-linux/libmariadb.so $HOME/libmariadb/libmariadb.so + rm -rf mariadb_client-2.0.0-linux.tgz mariadb_client-2.0.0-linux + fi + ln -s $HOME/libmariadb/libmariadb.so libmariadb.so + + DreamDaemon tgstation.dmb -close -trusted -params "test-run&log-directory=travis" cat data/logs/travis/clean_run.lk fi; fi; diff --git a/tools/travis/build_dependencies.sh b/tools/travis/build_dependencies.sh index 60a23d9723..5884423d69 100755 --- a/tools/travis/build_dependencies.sh +++ b/tools/travis/build_dependencies.sh @@ -2,7 +2,7 @@ set -e -if [ "$BUILD_TOOLS" = false ]; then +if [ $BUILD_TOOLS = false ] && [ $BUILD_TESTING = false ]; then curl https://sh.rustup.rs -sSf | sh -s -- -y --default-host i686-unknown-linux-gnu source ~/.profile diff --git a/tools/travis/travis_config.txt b/tools/travis/travis_config.txt new file mode 100644 index 0000000000..e59e4ed4ca --- /dev/null +++ b/tools/travis/travis_config.txt @@ -0,0 +1,9 @@ +SQL_ENABLED +ADDRESS 127.0.0.1 +PORT 3306 +FEEDBACK_DATABASE tg_travis +FEEDBACK_TABLEPREFIX +FEEDBACK_LOGIN root +FEEDBACK_PASSWORD +LAVALAND_BUDGET 0 +SPACE_BUDGET 0