Merge: ci: generate metrics output in an artifact file
[nit.git] / .gitlab-ci.yml
index 13c4390..19cbcd5 100644 (file)
@@ -29,6 +29,7 @@ before_script:
   - git config --add github.oauthtoken "$GITHUB_OAUTHTOKEN" # needed for github api rate limit
   - pwd
   - ccache -s
+  - ccache -z
   - ccache -M 500M
   - du -sh .gradle || true
   - type -a nitc nitdoc || true # is there some nit tools?
@@ -38,7 +39,7 @@ after_script:
   - export CCACHE_DIR=$PWD/.ccache
   - ccache -s
   - du -sh .gradle || true
-  - git status --ignored
+  - git status --ignored || true
   - date
   - tail status.txt
 
@@ -89,6 +90,7 @@ nitunit_some:
   script:
     - git diff --name-only origin/master..HEAD -- "*.nit" "*.res" "README.*" | grep -v "^tests/" > list0.txt || true
     - xargs nitls -pP < list0.txt > list.txt
+    - test -s list.txt || exit 0
     - xargs nitunit < list.txt
     - junit2html nitunit.xml
   artifacts:
@@ -290,6 +292,22 @@ build_oot:
 
 # MISC ##############################################################
 
+check_requirments:
+  stage: more_test
+  image: debian:buster
+  before_script:
+    - date # cancel the default `before_script`, an empty list does nothing
+  script: # from the README
+    - apt-get update && apt-get install --yes --no-install-recommends build-essential ccache libgc-dev libunwind-dev pkg-config
+    - make
+    - bin/nitc examples/hello_world.nit
+    - ./hello_world
+    - . misc/nit_env.sh install
+    - nitc examples/hello_world.nit
+    - ./hello_world
+    - apt-get update && apt-get install --yes --no-install-recommends graphviz libcurl4-openssl-dev libevent-dev libmongoc-dev
+    - make more
+
 bootstrap_full:
   stage: more_test
   dependencies:
@@ -358,6 +376,16 @@ build_doc:
     paths:
       - nitdoc.out
 
+build_manual:
+  stage: more_test
+  script:
+    - apt-get update && apt-get install --yes --no-install-recommends pandoc texlive texlive-latex-extra lmodern
+    - make -C doc/manual
+  artifacts:
+    paths:
+      - doc/manual/*.pdf
+      - doc/manual/*.epub
+
 nitmetrics:
   stage: more_test
   dependencies: