lib/core/stream: LineIterator use CachedIterator
[nit.git] / .gitlab-ci.yml
index c209c04..a0711b3 100644 (file)
@@ -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
@@ -37,29 +51,21 @@ sanity_checks:
     - misc/jenkins/checksignedoffby.sh | tee -a status.txt
     - misc/jenkins/checklicense.sh | tee -a status.txt
 
-build_tools:
+build_tools: &build_tools
   stage: build
   script:
     - 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:
+test_some: &test_some
   stage: test
   dependencies:
     - build_tools
@@ -113,11 +119,12 @@ basic_android:
 
 # TEST FULL #########################################################
 
-test_full_nitcs:
+test_full_nitcs: &test_full_nitcs
   stage: more_test
   dependencies:
     - build_tools
   script:
+    - share/android-bdwgc/setup.sh
     - cd tests
     - ./testfull.sh | tee log.txt
     - grep -v '=>' log.txt > ../status.txt || true
@@ -247,7 +254,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 +283,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 +311,6 @@ bench_fast:
       - benchmarks/*.dat
       - benchmarks/*.gnu
     when: always
-  allow_failure: true
 
 
 # MORE TOOLS ########################################################
@@ -333,11 +357,21 @@ build_catalog:
     paths:
       - catalog.out
 
-.test_macos:
-  script:
-    - uname
-    - pwd
-    - ls /
-  stage: build
+build_tools_macos:
+  <<: *build_tools
+  tags:
+    - macos
+
+test_some_macos:
+  <<: *test_some
   tags:
     - macos
+  dependencies:
+    - build_tools_macos
+
+test_full_nitcs_macos:
+  <<: *test_full_nitcs
+  tags:
+    - macos
+  dependencies:
+    - build_tools_macos