forked from infinitystation/EuropaStation
-
Notifications
You must be signed in to change notification settings - Fork 1
/
.travis.yml
66 lines (60 loc) · 2.66 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
language: generic
sudo: false
env:
global:
BYOND_MAJOR="511"
BYOND_MINOR="1360"
MACRO_COUNT=728
NODE_VERSION="4"
# ALL MAPS MUST BE PRESENT HERE
# IF THEY ARE NOT, YOUR BUILD WILL FAIL
matrix:
- MAP_PATH=yonaguni
- MAP_PATH=katydid
- MAP_PATH=makara
- MAP_PATH=testing
cache:
directories:
- $HOME/BYOND-${BYOND_MAJOR}.${BYOND_MINOR}
addons:
apt:
packages:
- libc6-i386
- libgcc1:i386
- libstdc++6:i386
install:
- pip install --user PyYaml -q
- pip install --user beautifulsoup4 -q
before_script:
- chmod +x ./install-byond.sh
- ./install-byond.sh
script:
- shopt -s globstar
- scripts/validateTravisContainsAllMaps.sh
- (! grep 'step_[xy]' maps/**/*.dmm)
- (! find nano/templates/ -type f -exec md5sum {} + | sort | uniq -D -w 32 | grep nano)
- (! grep -En "<\s*span\s+class\s*=\s*('[^'>]+|[^'>]+')\s*>" **/*.dm)
- (num=`grep -E '\\\\(red|blue|green|black|b|i[^mc])' **/*.dm | wc -l`; echo "$num escapes (expecting ${MACRO_COUNT} or less)"; [ $num -le ${MACRO_COUNT} ])
- (num=`grep -E '\WDel\(' **/*.dm | wc -l`; echo "$num Del()s (expecting 6 or less)"; [ $num -le 6 ])
- (num=`grep -E '"/atom' **/*.dm | wc -l`; echo "$num /atom text paths (expecting 2 or less)"; [ $num -le 2 ])
- (num=`grep -E '"/area' **/*.dm | wc -l`; echo "$num /area text paths (expecting 2 or less)"; [ $num -le 2 ])
- (num=`grep -E '"/datum' **/*.dm | wc -l`; echo "$num /datum text paths (expecting 2 or less)"; [ $num -le 2 ])
- (num=`grep -E '"/mob' **/*.dm | wc -l`; echo "$num /mob text paths (expecting 2 or less)"; [ $num -le 2 ])
- (num=`grep -E '"/obj' **/*.dm | wc -l`; echo "$num /obj text paths (expecting 13 or less)"; [ $num -le 13 ])
- (num=`grep -E '"/turf' **/*.dm | wc -l`; echo "$num /turf text paths (expecting 8 or less)"; [ $num -le 8 ])
- awk -f tools/indentation.awk **/*.dm
- md5sum -c - <<< "4bab08611ef5a6f7478d8c4f8b1aa355 *.gitignore"
- md5sum -c - <<< "0af969f671fba6cf9696c78cd175a14a *europa.int"
- md5sum -c - <<< "88490b460c26947f5ec1ab1bb9fa9f17 *html/changelogs/example.yml"
- python tools/TagMatcher/tag-matcher.py ../..
- python tools/PunctuationChecker/punctuation-checker.py ../..
- python tools/GenerateChangelog/ss13_genchangelog.py html/changelog.html html/changelogs
- source $HOME/BYOND-${BYOND_MAJOR}.${BYOND_MINOR}/byond/bin/byondsetup
- cp config/example/* config/
- scripts/dm.sh -DUNIT_TEST -M$MAP_PATH europa.dme
- grep ", 0 warnings" build_log.txt
- DreamDaemon europa.dmb -invisible -trusted -core 2>&1 | tee log.txt
- grep "All Unit Tests Passed" log.txt
- (! grep "runtime error:" log.txt)
- (! grep "WARNING:" log.txt)
- (! grep "ERROR:" log.txt)