26 - export CCACHE_DIR=$PWD/.ccache
27 - export GRADLE_USER_HOME=$PWD/.gradle
28 - export PATH=$PWD/bin:$PATH
29 - git config --add github.oauthtoken "$GITHUB_OAUTHTOKEN" # needed for github api rate limit
33 - du -sh .gradle || true
34 - type -a nitc nitdoc || true # is there some nit tools?
38 - export CCACHE_DIR=$PWD/.ccache
40 - du -sh .gradle || true
41 - git status --ignored
45 # BASIC JOBS ########################################################
50 - misc/jenkins/checkwhitespaces.sh | tee -a status.txt
51 - misc/jenkins/checksignedoffby.sh | tee -a status.txt
52 - misc/jenkins/checklicense.sh | tee -a status.txt
54 build_tools: &build_tools
59 - misc/jenkins/check_manpages.sh
74 - ./search_tests_git.sh origin/master HEAD > list
75 - ./testall.sh `cat list` | tee log.txt
76 - grep -v '=>' log.txt > ../status.txt || true
90 - git diff --name-only origin/master..HEAD -- "*.nit" "*.res" "README.*" | grep -v "^tests/" > list0.txt || true
91 - xargs nitls -pP < list0.txt > list.txt
92 - xargs nitunit < list.txt
106 - nitls lib src examples contrib
107 - nitls -Pp lib src examples | grep -v -f tests/gitlab_ci.skip > list.txt || true # filter what is skipped by tests.sh
108 - xargs nitpick < list.txt
115 - make -C contrib/asteronits android
118 - contrib/asteronits/bin/*.apk
120 # TEST FULL #########################################################
122 test_full_nitcs: &test_full_nitcs
127 - share/android-bdwgc/setup.sh
129 - ./testfull.sh | tee log.txt
130 - grep -v '=>' log.txt > ../status.txt || true
147 - ./testfull.sh --engine niti | tee log.txt
148 - grep -v '=>' log.txt > ../status.txt || true
165 - ./testfull.sh --engine nitcg | tee log.txt
166 - grep -v '=>' log.txt > ../status.txt || true
183 - ./testfull.sh --engine nitce | tee log.txt
184 - grep -v '=>' log.txt > ../status.txt || true
201 - ./testfull.sh --engine nitcsg | tee log.txt
202 - grep -v '=>' log.txt > ../status.txt || true
213 # LIB, CONTRIB AND OOT ##############################################
220 - nitls -Pp lib | grep -v -f tests/gitlab_ci.skip > list.txt || true # filter what is skipped by tests.sh
221 - xargs nitunit -v < list.txt| tee log.txt
222 - grep -e KO log.txt > status.txt || true
223 - tail -3 log.txt >> status.txt
237 - nitls -Pp src examples | grep -v -f tests/gitlab_ci.skip > list.txt || true # filter what is skipped by tests.sh
238 - xargs nitunit -v < list.txt| tee log.txt
239 - grep -e KO log.txt > status.txt || true
240 - tail -3 log.txt >> status.txt
254 - misc/jenkins/check_contrib.sh all check
255 - grep 'error message' *.xml > status.txt || true
256 - test ! -s status.txt # no lines, no errors
258 test_contribs_android:
263 - misc/jenkins/check_contrib.sh android
264 - grep 'error message' *.xml > status.txt || true
266 - find . -name '*.apk' -exec mv {} apk/debug/ ";"
267 - test ! -s status.txt # no lines, no errors
268 - misc/jenkins/check_contrib.sh android-release
269 - grep 'error message' *.xml > status.txt || true
270 - mkdir -p apk/release
271 - find . -name '*.apk' -exec mv {} apk/release ";"
272 - test ! -s status.txt # no lines, no errors
285 - grep 'error message' *.xml > ../status.txt || true
286 # Errors are somewhat expected
288 # MISC ##############################################################
305 - ./bench_engines.sh --fast --fast --html options
306 - grep -B1 'error message' *.xml | grep testcase > ../status.txt || true
316 # MORE TOOLS ########################################################
324 - make -C "contrib/nitcc"
338 - nitdoc -d nitdoc.out --keep-going lib src
348 - misc/jenkins/check_contrib.sh pre-build
353 - nitcatalog -d catalog.out lib/ examples/ contrib/ contrib/oot/
372 test_full_nitcs_macos: