Mentions légales du service

Skip to content
Snippets Groups Projects
Commit 7e97e658 authored by hhakim's avatar hhakim
Browse files

Set to normal pipeline doctest ci jobs for pyfaust and matfaust (were...

Set to normal pipeline doctest ci jobs for pyfaust and matfaust (were previously nightly scheduled ci jobs).
parent 21727888
No related branches found
No related tags found
No related merge requests found
...@@ -154,8 +154,8 @@ ctest_nightly_win10: ...@@ -154,8 +154,8 @@ ctest_nightly_win10:
tags: tags:
- win10 - win10
doctest_nightly_pyfaust: doctest_pyfaust:
stage: test stage: pkg_test
script: script:
- if [[ ! -d 'build' ]]; then mkdir build;fi; cd build - if [[ ! -d 'build' ]]; then mkdir build;fi; cd build
- cmake -DBUILD_WRAPPER_PYTHON=ON -DREMOTE_DATA_URL="$DURL" -DREMOTE_DATA_FILE="$DFILE" .. - cmake -DBUILD_WRAPPER_PYTHON=ON -DREMOTE_DATA_URL="$DURL" -DREMOTE_DATA_FILE="$DFILE" ..
...@@ -180,24 +180,24 @@ doctest_nightly_pyfaust: ...@@ -180,24 +180,24 @@ doctest_nightly_pyfaust:
- python -m doctest -v $PF_DIR/demo.py - python -m doctest -v $PF_DIR/demo.py
- deactivate - deactivate
- rm -Rf doctest_pyfaust-latest - rm -Rf doctest_pyfaust-latest
only:
- schedules
tags: tags:
- linux - linux
except: except:
- tags - tags
- schedules
doctest_nightly_matfaust: doctest_matfaust:
stage: test stage: pkg_test
script: script:
# get latest successful ci job pkg_linux # get latest successful ci job pkg_linux
- 'JOB_ID=$(curl -s --header "PRIVATE-TOKEN: $GITLAB_API_READ_TOKEN" "https://gitlab.inria.fr/api/v4/projects/6960/jobs?scope=success&per_page=10000" 2>&1 | tee -a /tmp/log_curl_doctest_matfaust | sed -e "s/}/}\n/g" | grep "\"pkg_linux\"" | head -1 | sed -ne "s/.*{\"id\":\([[:digit:]]\+\).*pkg_linux.*/\1/p") || echo JOB_ID=$JOB_ID' # NOTE: this code is needed to download the package to install, which is useful only if pkg_linux is on a different pipeline
# download artifact archive # - 'JOB_ID=$(curl -s --header "PRIVATE-TOKEN: $GITLAB_API_READ_TOKEN" "https://gitlab.inria.fr/api/v4/projects/6960/jobs?scope=success&per_page=10000" 2>&1 | tee -a /tmp/log_curl_doctest_matfaust | sed -e "s/}/}\n/g" | grep "\"pkg_linux\"" | head -1 | sed -ne "s/.*{\"id\":\([[:digit:]]\+\).*pkg_linux.*/\1/p") || echo JOB_ID=$JOB_ID'
- 'curl --header "PRIVATE-TOKEN: $GITLAB_API_READ_TOKEN" https://gitlab.inria.fr/api/v4/projects/6960/jobs/$JOB_ID/artifacts > artifacts.zip' # # download artifact archive
# what's in this? # - 'curl --header "PRIVATE-TOKEN: $GITLAB_API_READ_TOKEN" https://gitlab.inria.fr/api/v4/projects/6960/jobs/$JOB_ID/artifacts > artifacts.zip'
- zip -Tv artifacts.zip # # what's in this?
- unzip artifacts.zip # - zip -Tv artifacts.zip
- rm artifacts.zip # - unzip artifacts.zip
# - rm artifacts.zip
# what's in this pkg? # what's in this pkg?
- rpm -ql -p build/faust*rpm - rpm -ql -p build/faust*rpm
# install the pkg but first remove poential older one # install the pkg but first remove poential older one
...@@ -209,13 +209,15 @@ doctest_nightly_matfaust: ...@@ -209,13 +209,15 @@ doctest_nightly_matfaust:
- 'for S in Faust proj.sp proj.splin proj.spcol proj.splincol proj.const proj.supp proj.normlin proj.normcol proj.blockdiag proj.anticirc proj.circ proj.hankel proj.skperm proj.sptriu proj.sptril proj.spsymm proj.toeplitz proj.proj_id poly.poly poly.expm_multiply poly.next poly.basis poly.expm_inv_multiply factparams.ParamsHierarchicalWHTNoResCons factparams.ParamsHierarchicalRectMatNoResCons factparams.ParamsHierarchicalNoResCons factparams.ParamsHierarchicalRectMat fact.butterfly fact.check_fact_mat fact.eigtj fact.fact fact.fgft_palm fact.hierarchical_constends fact.hierarchical fact.hierarchical_mhtp fact.palm4msa_constends fact.palm4msa fact.palm4msa_mhtp fact.pinvtj fact.svdtj tools.omp demo.runall; do if matlab -nodisplay -r "addpath /usr/share/octave/packages/doctest-0.7.0/; setup_FAUST; doctest matfaust.$S; exit;" | tee /tmp/matlab_doctest_$S | grep FAIL; then exit 1; fi; done' - 'for S in Faust proj.sp proj.splin proj.spcol proj.splincol proj.const proj.supp proj.normlin proj.normcol proj.blockdiag proj.anticirc proj.circ proj.hankel proj.skperm proj.sptriu proj.sptril proj.spsymm proj.toeplitz proj.proj_id poly.poly poly.expm_multiply poly.next poly.basis poly.expm_inv_multiply factparams.ParamsHierarchicalWHTNoResCons factparams.ParamsHierarchicalRectMatNoResCons factparams.ParamsHierarchicalNoResCons factparams.ParamsHierarchicalRectMat fact.butterfly fact.check_fact_mat fact.eigtj fact.fact fact.fgft_palm fact.hierarchical_constends fact.hierarchical fact.hierarchical_mhtp fact.palm4msa_constends fact.palm4msa fact.palm4msa_mhtp fact.pinvtj fact.svdtj tools.omp demo.runall; do if matlab -nodisplay -r "addpath /usr/share/octave/packages/doctest-0.7.0/; setup_FAUST; doctest matfaust.$S; exit;" | tee /tmp/matlab_doctest_$S | grep FAIL; then exit 1; fi; done'
after_script: after_script:
- if [ $(rpm -qa faust | wc -l) -gt 0 ]; then sudo rpm -e faust;fi - if [ $(rpm -qa faust | wc -l) -gt 0 ]; then sudo rpm -e faust;fi
only: needs:
- schedules - job: pkg_linux
artifacts: true
tags: tags:
- linux - linux
- matlab - matlab
except: except:
- tags - tags
- schedules
matfaust_test_code_coverage: matfaust_test_code_coverage:
stage: code_cov stage: code_cov
......
...@@ -98,7 +98,7 @@ recent FAµST API is needed). ...@@ -98,7 +98,7 @@ recent FAµST API is needed).
#### Doctest #### Doctest
The pyfaust/matfaust API comes with many examples integrated in the [documentation](https://faustgrp.gitlabpages.inria.fr/faust/last-doc/html/index.html). The pyfaust/matfaust API comes with many examples integrated in the [documentation](https://faustgrp.gitlabpages.inria.fr/faust/last-doc/html/index.html).
They are all fully tested in the ``doctest_nightly_pyfaust``/``doctest_nightly_matfaust`` They are all fully tested in the ``doctest_pyfaust``/``doctest_matfaust``
ci job (cf. ``gitlab-ci.yml``) and comply with the job passing policy exposed in [1.](#gitlab_pol_test) ci job (cf. ``gitlab-ci.yml``) and comply with the job passing policy exposed in [1.](#gitlab_pol_test)
(any doctest failure means normally that the CI pipeline fails). These CI jobs are [scheduled](https://gitlab.inria.fr/faustgrp/faust/-/pipeline_schedules) (any doctest failure means normally that the CI pipeline fails). These CI jobs are [scheduled](https://gitlab.inria.fr/faustgrp/faust/-/pipeline_schedules)
to run by night (cf. Gitlab schedule interface). If any of the tested pyfaust/matfaust submodules or functions to run by night (cf. Gitlab schedule interface). If any of the tested pyfaust/matfaust submodules or functions
...@@ -111,7 +111,7 @@ It really matters to keep a metric of how much code is covered by the tests in t ...@@ -111,7 +111,7 @@ It really matters to keep a metric of how much code is covered by the tests in t
- The CI job ``pyfaust_test_code_coverage`` measures the test coverage for - The CI job ``pyfaust_test_code_coverage`` measures the test coverage for
pyfaust (using the same tests as ``ctest_python`` and pyfaust (using the same tests as ``ctest_python`` and
``doctest_nightly_pyfaust``). Look at the badge below to know what is the ``doctest_pyfaust``). Look at the badge below to know what is the
current coverage of pyfaust tests. The same CI job produces a report available on gitlab-pages current coverage of pyfaust tests. The same CI job produces a report available on gitlab-pages
too as job's artifact (e.g.: [report](https://faustgrp.gitlabpages.inria.fr/-/faust/-/jobs/3169837/artifacts/htmlcov/index.html) too as job's artifact (e.g.: [report](https://faustgrp.gitlabpages.inria.fr/-/faust/-/jobs/3169837/artifacts/htmlcov/index.html)
-- note: this link won't last forever). The report is also available directly as text in the CI job output. -- note: this link won't last forever). The report is also available directly as text in the CI job output.
...@@ -122,7 +122,7 @@ It really matters to keep a metric of how much code is covered by the tests in t ...@@ -122,7 +122,7 @@ It really matters to keep a metric of how much code is covered by the tests in t
produce a coverage report as this [one](https://faustgrp.gitlabpages.inria.fr/-/faust/-/jobs/3186956/artifacts/coverage_html/index.html) produce a coverage report as this [one](https://faustgrp.gitlabpages.inria.fr/-/faust/-/jobs/3186956/artifacts/coverage_html/index.html)
(this link might be deleted in the future, in which case you might look at artifacts of recent ci (this link might be deleted in the future, in which case you might look at artifacts of recent ci
[jobs](https://gitlab.inria.fr/faustgrp/faust/-/jobs)). The tests used for coverage calculation [jobs](https://gitlab.inria.fr/faustgrp/faust/-/jobs)). The tests used for coverage calculation
are pretty much the same as the ones in ``ctest_matlab`` and ``doctest_nightly_matfaust``. are pretty much the same as the ones in ``ctest_matlab`` and ``doctest_matfaust``.
Look at the badge below to know what is the current coverage of matfaust tests. If it is not so good Look at the badge below to know what is the current coverage of matfaust tests. If it is not so good
it is partially due to the fact that the code for mex float (single in matlab) is not auto-tested it is partially due to the fact that the code for mex float (single in matlab) is not auto-tested
but there is no reason to think it would fail more often than the code for double which is tested. but there is no reason to think it would fail more often than the code for double which is tested.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment