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
34 - du -sh .gradle || true
35 - type -a nitc nitdoc || true # is there some nit tools?
39 - export CCACHE_DIR=$PWD/.ccache
41 - du -sh .gradle || true
42 - git status --ignored
46 # BASIC JOBS ########################################################
51 - misc/jenkins/checkwhitespaces.sh | tee -a status.txt
52 - misc/jenkins/checksignedoffby.sh | tee -a status.txt
53 - misc/jenkins/checklicense.sh | tee -a status.txt
55 build_tools: &build_tools
60 - misc/jenkins/check_manpages.sh
75 - ./search_tests_git.sh origin/master HEAD > list
76 - ./testall.sh `cat list` | tee log.txt
77 - grep -v '=>' log.txt > ../status.txt || true
91 - git diff --name-only origin/master..HEAD -- "*.nit" "*.res" "README.*" | grep -v "^tests/" > list0.txt || true
92 - xargs nitls -pP < list0.txt > list.txt
93 - xargs nitunit < list.txt
94 - junit2html nitunit.xml
108 - nitls lib src examples contrib
109 - nitls -Pp lib src examples | grep -v -f tests/gitlab_ci.skip > list.txt || true # filter what is skipped by tests.sh
110 - xargs nitpick < list.txt
117 - make -C contrib/asteronits android
120 - contrib/asteronits/bin/*.apk
122 # TEST FULL #########################################################
124 test_full_nitcs: &test_full_nitcs
129 - share/android-bdwgc/setup.sh
131 - ./testfull.sh | tee log.txt
132 - grep -v '=>' log.txt > ../status.txt || true
149 - ./testfull.sh --engine niti | tee log.txt
150 - grep -v '=>' log.txt > ../status.txt || true
167 - ./testfull.sh --engine nitcg | tee log.txt
168 - grep -v '=>' log.txt > ../status.txt || true
185 - ./testfull.sh --engine nitce | tee log.txt
186 - grep -v '=>' log.txt > ../status.txt || true
203 - ./testfull.sh --engine nitcsg | tee log.txt
204 - grep -v '=>' log.txt > ../status.txt || true
215 # LIB, CONTRIB AND OOT ##############################################
222 - nitls -Pp lib | grep -v -f tests/gitlab_ci.skip > list.txt || true # filter what is skipped by tests.sh
223 - xargs nitunit -v < list.txt| tee log.txt
224 - grep -e KO log.txt > status.txt || true
225 - tail -3 log.txt >> status.txt
226 - junit2html nitunit.xml
240 - nitls -Pp src examples | grep -v -f tests/gitlab_ci.skip > list.txt || true # filter what is skipped by tests.sh
241 - xargs nitunit -v < list.txt| tee log.txt
242 - grep -e KO log.txt > status.txt || true
243 - tail -3 log.txt >> status.txt
244 - junit2html nitunit.xml
258 - misc/jenkins/check_contrib.sh all check
259 - grep 'error message' *.xml > status.txt || true
260 - test ! -s status.txt # no lines, no errors
262 test_contribs_android:
267 - misc/jenkins/check_contrib.sh android
268 - grep 'error message' *.xml > status.txt || true
270 - find . -name '*.apk' -exec mv {} apk/debug/ ";"
271 - test ! -s status.txt # no lines, no errors
272 - misc/jenkins/check_contrib.sh android-release
273 - grep 'error message' *.xml > status.txt || true
274 - mkdir -p apk/release
275 - find . -name '*.apk' -exec mv {} apk/release ";"
276 - test ! -s status.txt # no lines, no errors
289 - grep 'error message' *.xml > ../status.txt || true
290 # Errors are somewhat expected
292 # MISC ##############################################################
309 - ./bench_engines.sh --fast --fast --html options
310 - grep -B1 'error message' *.xml | grep testcase > ../status.txt || true
320 # MORE TOOLS ########################################################
328 - make -C "contrib/nitcc"
341 - mkdir -p valgrind.out
342 - nitc src/nitc.nit # To warm-up the cache
343 - src/valgrind.sh --callgrind-out-file=valgrind.out/nitc.nitc.out nitc src/nitc.nit -vv
344 - callgrind_annotate valgrind.out/nitc.nitc.out > valgrind.out/nitc.nitc.txt
345 - src/valgrind.sh --callgrind-out-file=valgrind.out/niti.niti.out nit -- src/nit.nit tests/base_simple3.nit -vv
346 - callgrind_annotate valgrind.out/niti.niti.out > valgrind.out/niti.niti.txt
357 - nitdoc -d nitdoc.out --keep-going lib src
367 - nitmetrics --all --log --log-dir nitmetrics.out --dir nitmetrics.out --keep-going lib src
377 - misc/jenkins/check_contrib.sh pre-build
382 - nitcatalog -d catalog.out lib/ examples/ contrib/ contrib/oot/
401 test_full_nitcs_macos: