X-Git-Url: http://nitlanguage.org diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 861ebbb..7bb7ada 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,8 +1,18 @@ image: nitlang/nit-ci +services: + - mongo + - neo4j:2.3 + - postgres + +variables: + NEO4J_AUTH: none + cache: paths: - .ccache + - .gradle/caches + - .gradle/wrapper key: "$CI_JOB_NAME" stages: @@ -14,16 +24,20 @@ stages: before_script: - date - export CCACHE_DIR=$PWD/.ccache + - export GRADLE_USER_HOME=$PWD/.gradle - export PATH=$PWD/bin:$PATH + - git config --add github.oauthtoken "$GITHUB_OAUTHTOKEN" # needed for github api rate limit - pwd - ccache -s - ccache -M 500M + - du -sh .gradle || true - type -a nitc nitdoc || true # is there some nit tools? - "> status.txt" after_script: - export CCACHE_DIR=$PWD/.ccache - ccache -s + - du -sh .gradle || true - git status --ignored - date - tail status.txt @@ -43,21 +57,13 @@ build_tools: - make 2>> status.txt - nitc --version - misc/jenkins/check_manpages.sh - - "{ cd tests && ./tests.sh base_sim*.nit ../src/nitlight.nit; }" - - nitunit -v lib/core artifacts: paths: - bin/* - c_src/nitc - src/version.nit - src/nitc_0 - - nitunit.xml* - - tests/*.xml* when: always - reports: - junit: - - tests/*.xml - - nitunit.xml test_some: stage: test @@ -81,7 +87,7 @@ nitunit_some: dependencies: - build_tools script: - - git diff --name-only origin/master..HEAD -- "*.nit" "*.res" "README.*" | grep -v "^tests/" > list0.txt + - git diff --name-only origin/master..HEAD -- "*.nit" "*.res" "README.*" | grep -v "^tests/" > list0.txt || true - xargs nitls -pP < list0.txt > list.txt - xargs nitunit < list.txt artifacts: @@ -98,7 +104,7 @@ nitpick_full: - build_tools script: - nitls lib src examples contrib - - nitls -Pp lib src examples | grep -v -f tests/gitlab_ci.skip > list.txt # filter what is skipped by tests.sh + - nitls -Pp lib src examples | grep -v -f tests/gitlab_ci.skip > list.txt || true # filter what is skipped by tests.sh - xargs nitpick < list.txt basic_android: @@ -210,7 +216,7 @@ nitunit_lib: dependencies: - build_tools script: - - nitls -Pp lib | grep -v -f tests/gitlab_ci.skip > list.txt # filter what is skipped by tests.sh + - nitls -Pp lib | grep -v -f tests/gitlab_ci.skip > list.txt || true # filter what is skipped by tests.sh - xargs nitunit -v < list.txt| tee log.txt - grep -e KO log.txt > status.txt || true - tail -3 log.txt >> status.txt @@ -227,7 +233,7 @@ nitunit_src: dependencies: - build_tools script: - - nitls -Pp src examples | grep -v -f tests/gitlab_ci.skip > list.txt # filter what is skipped by tests.sh + - nitls -Pp src examples | grep -v -f tests/gitlab_ci.skip > list.txt || true # filter what is skipped by tests.sh - xargs nitunit -v < list.txt| tee log.txt - grep -e KO log.txt > status.txt || true - tail -3 log.txt >> status.txt @@ -247,7 +253,26 @@ test_contribs: - misc/jenkins/check_contrib.sh all check - grep 'error message' *.xml > status.txt || true - test ! -s status.txt # no lines, no errors - allow_failure: true + +test_contribs_android: + stage: more_test + dependencies: + - build_tools + script: + - misc/jenkins/check_contrib.sh android + - grep 'error message' *.xml > status.txt || true + - mkdir -p apk/debug + - find . -name '*.apk' -exec mv {} apk/debug/ ";" + - test ! -s status.txt # no lines, no errors + - misc/jenkins/check_contrib.sh android-release + - grep 'error message' *.xml > status.txt || true + - mkdir -p apk/release + - find . -name '*.apk' -exec mv {} apk/release ";" + - test ! -s status.txt # no lines, no errors + artifacts: + paths: + - "apk" + when: always build_oot: stage: more_test @@ -257,8 +282,7 @@ build_oot: - cd contrib - ./oot.sh all - grep 'error message' *.xml > ../status.txt || true - - test ! -s ../status.txt # no lines, no errors - allow_failure: true + # Errors are somewhat expected # MISC ############################################################## @@ -286,7 +310,6 @@ bench_fast: - benchmarks/*.dat - benchmarks/*.gnu when: always - allow_failure: true # MORE TOOLS ########################################################