X-Git-Url: http://nitlanguage.org diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 899130c..d4e5928 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -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 @@ -87,8 +88,9 @@ nitunit_some: dependencies: - build_tools script: - - git diff --name-only origin/master..HEAD -- "*.nit" "*.res" "README.*" | grep -v "^tests/" > list0.txt || true + - git diff --name-only origin/master..HEAD -- "*.nit" "*.res" "README.*" | grep -v "^tests/\|contrib/" > 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: @@ -315,6 +333,20 @@ bench_fast: - benchmarks/*.gnu when: always +nitunit_manual: + stage: more_test + dependencies: + - build_tools + script: + - nitunit doc/manual/*.nit + - junit2html nitunit.xml + artifacts: + paths: + - nitunit.xml* + when: always + reports: + junit: + - nitunit.xml # MORE TOOLS ######################################################## @@ -373,7 +405,8 @@ nitmetrics: dependencies: - build_more_tools script: - - nitmetrics --all --log --log-dir nitmetrics.out --dir nitmetrics.out --keep-going lib src + - mkdir -p nitmetrics.out + - nitmetrics --all --log --log-dir nitmetrics.out --dir nitmetrics.out --keep-going lib src | tee nitmetrics.out/metrics.txt artifacts: paths: - nitmetrics.out @@ -389,8 +422,6 @@ build_catalog: - ./oot.sh pre-build - cd .. - nitcatalog -d catalog.out lib/ examples/ contrib/ contrib/oot/ - dependencies: - - build_more_tools artifacts: paths: - catalog.out @@ -413,3 +444,27 @@ test_full_nitcs_macos: - macos dependencies: - build_tools_macos + +bench_old: + stage: more_test + tags: + - perf + dependencies: + - build_tools + script: + - benchmarks/bench_old.sh + allow_failure: true # time is unreliable. manual check required + services: [] + +build_tools_windows: + stage: build + before_script: + - date + after_script: + - date + tags: + - windows + script: + - $project_dir = "$CI_PROJECT_DIR" -replace "\\", "\\\" + - $converted_project_dir = $(c:\msys64\usr\bin\bash -l -c "cygpath -u $project_dir") + - c:\msys64\usr\bin\env MSYSTEM=MINGW64 c:\msys64\usr\bin\bash -l -c "cd $converted_project_dir; make"