diff --git a/.gitlab/workflow/.coverage-gitlab-ci.yaml b/.gitlab/workflow/.coverage-gitlab-ci.yaml index 5f717cc6c7aee456c06ab5158c7380ef7555d5f2..42465a0da5dbda51b2bfc328993498ed0dc241b8 100644 --- a/.gitlab/workflow/.coverage-gitlab-ci.yaml +++ b/.gitlab/workflow/.coverage-gitlab-ci.yaml @@ -3,12 +3,25 @@ # ---------------------------------------------------------------------------- .coverage_dependencies: &coverage_dependencies + - test_evaluate_tagger_in_files + - test_examples - test_plot_input_vars - test_plotting_umami_dips - test_plotting_umami_dl1 - test_plotting_umami_umami + - test_train_cads + - test_train_cond_att_umami + - test_train_dips + - test_train_dips_four_classes + - test_train_dl1r + - test_train_tfrecords_cads + - test_train_tfrecords_cond_att_umami + - test_train_tfrecords_dips + - test_train_tfrecords_umami + - test_train_umami - unittest_parallel - - test_examples + + test_coverage: stage: coverage_test_stage diff --git a/.gitlab/workflow/.integration_test-gitlab-ci.yaml b/.gitlab/workflow/.integration_test-gitlab-ci.yaml index bc4a6ec813a5dc9e7b667193bf7abb098e8cef67..9879cb1e5cfc3f3618b2f11806afaf6c1e8bc322 100644 --- a/.gitlab/workflow/.integration_test-gitlab-ci.yaml +++ b/.gitlab/workflow/.integration_test-gitlab-ci.yaml @@ -25,161 +25,91 @@ junit: report.xml -.dependencies_from_train_stage: &dependencies_from_train_stage - - test_train_dips - - test_train_dips_four_classes - - test_train_tfrecords_dips - - test_train_cads - - test_train_tfrecords_cads - - test_train_dl1r - - test_train_umami - - test_train_tfrecords_umami - - test_train_cond_att_umami - - test_train_tfrecords_cond_att_umami - - test_evaluate_tagger_in_files - - -test_preprocessing_dips_count: +.test_preprocessing: &test_preprocessing <<: *test_template stage: integration_test_preprocessing + before_script: + - |- + if [[ $TEST_PATH == "" ]]; then + TEST_PATH=$TEST_NAME + echo $TEST_PATH + fi + - . run_setup.sh script: - - pytest --cov=./ --cov-report= ./umami/tests/integration/test_preprocessing.py -k "test_preprocessing_dips_count" -v -s --junitxml=report.xml - - cp .coverage ./coverage_files/.coverage.test_preprocessing_dips_count + - pytest --cov=./ --cov-report= ./umami/tests/integration/test_preprocessing.py -k "$TEST_NAME" -v -s --junitxml=report.xml + - cp .coverage ./coverage_files/.coverage.$TEST_NAME artifacts: <<: *artifact_template paths: - plots/ - - test_preprocessing_dips/ + - $TEST_PATH/ - coverage_files/ -test_preprocessing_dl1r_count: - <<: *test_template - stage: integration_test_preprocessing - script: - - pytest --cov=./ --cov-report= ./umami/tests/integration/test_preprocessing.py -k "test_preprocessing_dl1r_count" -v -s --junitxml=report.xml - - cp .coverage ./coverage_files/.coverage.test_preprocessing_dl1r_count - artifacts: - <<: *artifact_template - paths: - - plots/ - - test_preprocessing_dl1r/ - - coverage_files/ +test_preprocessing_parallel: + <<: *test_preprocessing + parallel: + matrix: + - TEST_PATH: test_preprocessing_dips + TEST_NAME: + - test_preprocessing_dips_four_classes_pdf + - test_preprocessing_dips_count + - TEST_NAME: + - test_preprocessing_dips_count + - test_preprocessing_dips_four_classes_pdf + - test_preprocessing_dips_pdf + - test_preprocessing_dips_weighting + - test_preprocessing_dl1r_pdf + - test_preprocessing_dl1r_weighting + - test_preprocessing_umami_pdf + - test_preprocessing_umami_weighting + - TEST_NAME: test_preprocessing_dl1r_count + TEST_PATH: test_preprocessing_dl1r + - TEST_NAME: test_preprocessing_umami_count + TEST_PATH: test_preprocessing_umami -test_preprocessing_umami_count: - <<: *test_template - stage: integration_test_preprocessing - script: - - pytest --cov=./ --cov-report= ./umami/tests/integration/test_preprocessing.py -k "test_preprocessing_umami_count" -v -s --junitxml=report.xml - - cp .coverage ./coverage_files/.coverage.test_preprocessing_umami_count - artifacts: - <<: *artifact_template - paths: - - plots/ - - test_preprocessing_umami/ - - coverage_files/ -test_preprocessing_dips_pdf: - <<: *test_template - stage: integration_test_preprocessing - script: - - pytest --cov=./ --cov-report= ./umami/tests/integration/test_preprocessing.py -k "test_preprocessing_dips_pdf" -v -s --junitxml=report.xml - - cp .coverage ./coverage_files/.coverage.test_preprocessing_dips_pdf - artifacts: - <<: *artifact_template - paths: - - plots/ - - test_preprocessing_dips_pdf/ - - coverage_files/ - -test_preprocessing_dips_four_classes_pdf: - <<: *test_template - stage: integration_test_preprocessing - script: - - pytest --cov=./ --cov-report= ./umami/tests/integration/test_preprocessing.py -k "test_preprocessing_dips_four_classes_pdf" -v -s --junitxml=report.xml - - cp .coverage ./coverage_files/.coverage.test_preprocessing_dips_four_classes_pdf - artifacts: - <<: *artifact_template - paths: - - plots/ - - test_preprocessing_dips/ - - coverage_files/ -test_preprocessing_dl1r_pdf: - <<: *test_template - stage: integration_test_preprocessing - script: - - pytest --cov=./ --cov-report= ./umami/tests/integration/test_preprocessing.py -k "test_preprocessing_dl1r_pdf" -v -s --junitxml=report.xml - - cp .coverage ./coverage_files/.coverage.test_preprocessing_dl1r_pdf - artifacts: - <<: *artifact_template - paths: - - plots/ - - test_preprocessing_dl1r_pdf/ - - coverage_files/ - -test_preprocessing_umami_pdf: - <<: *test_template - stage: integration_test_preprocessing - script: - - pytest --cov=./ --cov-report= ./umami/tests/integration/test_preprocessing.py -k "test_preprocessing_umami_pdf" -v -s --junitxml=report.xml - - cp .coverage ./coverage_files/.coverage.test_preprocessing_umami_pdf - artifacts: - <<: *artifact_template - paths: - - plots/ - - test_preprocessing_umami_pdf/ - - coverage_files/ +.test_train_dependencies: &test_train_dependencies + dependencies: + - test_preprocessing_parallel + needs: + - test_preprocessing_parallel -test_preprocessing_dips_weighting: - <<: *test_template - stage: integration_test_preprocessing - script: - - pytest --cov=./ --cov-report= ./umami/tests/integration/test_preprocessing.py -k "test_preprocessing_dips_weighting" -v -s --junitxml=report.xml - - cp .coverage ./coverage_files/.coverage.test_preprocessing_dips_weighting - artifacts: - <<: *artifact_template - paths: - - plots/ - - test_preprocessing_dips_weighting/ - - coverage_files/ -test_preprocessing_dl1r_weighting: +.test_train: &test_train <<: *test_template - stage: integration_test_preprocessing + stage: integration_test_tagger + # needs: + # - test_preprocessing_dips_count + # - test_preprocessing_dips_pdf + # - test_preprocessing_dips_weighting + # dependencies: + # - test_preprocessing_dips_count + # - test_preprocessing_dips_pdf + # - test_preprocessing_dips_weighting + <<: *test_train_dependencies script: - - pytest --cov=./ --cov-report= ./umami/tests/integration/test_preprocessing.py -k "test_preprocessing_dl1r_weighting" -v -s --junitxml=report.xml - - cp .coverage ./coverage_files/.coverage.test_preprocessing_dl1r_weighting + - pytest --cov=./ --cov-report= ./umami/tests/integration/test_train.py -v -s --junitxml=report.xml -k "test_train_dips_no_attention" + - cp .coverage ./coverage_files/.coverage.test_train_dips artifacts: <<: *artifact_template paths: - - plots/ - - test_preprocessing_dl1r_weighting/ + - test_*/ - coverage_files/ -test_preprocessing_umami_weighting: - <<: *test_template - stage: integration_test_preprocessing - script: - - pytest --cov=./ --cov-report= ./umami/tests/integration/test_preprocessing.py -k "test_preprocessing_umami_weighting" -v -s --junitxml=report.xml - - cp .coverage ./coverage_files/.coverage.test_preprocessing_umami_weighting - artifacts: - <<: *artifact_template - paths: - - plots/ - - test_preprocessing_umami_weighting/ - - coverage_files/ test_train_dips: <<: *test_template stage: integration_test_tagger - needs: - - test_preprocessing_dips_count - - test_preprocessing_dips_pdf - - test_preprocessing_dips_weighting - dependencies: - - test_preprocessing_dips_count - - test_preprocessing_dips_pdf - - test_preprocessing_dips_weighting + # needs: + # - test_preprocessing_dips_count + # - test_preprocessing_dips_pdf + # - test_preprocessing_dips_weighting + # dependencies: + # - test_preprocessing_dips_count + # - test_preprocessing_dips_pdf + # - test_preprocessing_dips_weighting + <<: *test_train_dependencies script: - pytest --cov=./ --cov-report= ./umami/tests/integration/test_train.py -v -s --junitxml=report.xml -k "test_train_dips_no_attention" - cp .coverage ./coverage_files/.coverage.test_train_dips @@ -192,10 +122,11 @@ test_train_dips: test_train_dips_four_classes: <<: *test_template stage: integration_test_tagger - needs: - - test_preprocessing_dips_four_classes_pdf - dependencies: - - test_preprocessing_dips_four_classes_pdf + # needs: + # - test_preprocessing_dips_four_classes_pdf + # dependencies: + # - test_preprocessing_dips_four_classes_pdf + <<: *test_train_dependencies script: - pytest --cov=./ --cov-report= ./umami/tests/integration/test_train.py -v -s --junitxml=report.xml -k "test_train_dips_four_classes" - cp .coverage ./coverage_files/.coverage.test_train_dips_four_classes @@ -208,14 +139,15 @@ test_train_dips_four_classes: test_train_tfrecords_dips: <<: *test_template stage: integration_test_tagger - needs: - - test_preprocessing_dips_count - - test_preprocessing_dips_pdf - - test_preprocessing_dips_weighting - dependencies: - - test_preprocessing_dips_count - - test_preprocessing_dips_pdf - - test_preprocessing_dips_weighting + # needs: + # - test_preprocessing_dips_count + # - test_preprocessing_dips_pdf + # - test_preprocessing_dips_weighting + # dependencies: + # - test_preprocessing_dips_count + # - test_preprocessing_dips_pdf + # - test_preprocessing_dips_weighting + <<: *test_train_dependencies script: - pytest --cov=./ --cov-report= ./umami/tests/integration/test_train.py -v -s --junitxml=report.xml -k "test_train_tfrecords_dips" - cp .coverage ./coverage_files/.coverage.test_train_tfrecords_dips @@ -228,14 +160,15 @@ test_train_tfrecords_dips: test_train_cads: <<: *test_template stage: integration_test_tagger - needs: - - test_preprocessing_umami_count - - test_preprocessing_umami_pdf - - test_preprocessing_umami_weighting - dependencies: - - test_preprocessing_umami_count - - test_preprocessing_umami_pdf - - test_preprocessing_umami_weighting + # needs: + # - test_preprocessing_umami_count + # - test_preprocessing_umami_pdf + # - test_preprocessing_umami_weighting + # dependencies: + # - test_preprocessing_umami_count + # - test_preprocessing_umami_pdf + # - test_preprocessing_umami_weighting + <<: *test_train_dependencies script: - pytest --cov=./ --cov-report= ./umami/tests/integration/test_train.py -v -s --junitxml=report.xml -k "test_train_cads" - cp .coverage ./coverage_files/.coverage.test_train_cads @@ -248,14 +181,15 @@ test_train_cads: test_train_tfrecords_cads: <<: *test_template stage: integration_test_tagger - needs: - - test_preprocessing_umami_count - - test_preprocessing_umami_pdf - - test_preprocessing_umami_weighting - dependencies: - - test_preprocessing_umami_count - - test_preprocessing_umami_pdf - - test_preprocessing_umami_weighting + # needs: + # - test_preprocessing_umami_count + # - test_preprocessing_umami_pdf + # - test_preprocessing_umami_weighting + # dependencies: + # - test_preprocessing_umami_count + # - test_preprocessing_umami_pdf + # - test_preprocessing_umami_weighting + <<: *test_train_dependencies script: - pytest --cov=./ --cov-report= ./umami/tests/integration/test_train.py -v -s --junitxml=report.xml -k "test_train_tfrecords_cads" - cp .coverage ./coverage_files/.coverage.test_train_tfrecords_cads @@ -268,14 +202,15 @@ test_train_tfrecords_cads: test_train_dl1r: <<: *test_template stage: integration_test_tagger - needs: - - test_preprocessing_dl1r_count - - test_preprocessing_dl1r_pdf - - test_preprocessing_dl1r_weighting - dependencies: - - test_preprocessing_dl1r_count - - test_preprocessing_dl1r_pdf - - test_preprocessing_dl1r_weighting + # needs: + # - test_preprocessing_dl1r_count + # - test_preprocessing_dl1r_pdf + # - test_preprocessing_dl1r_weighting + # dependencies: + # - test_preprocessing_dl1r_count + # - test_preprocessing_dl1r_pdf + # - test_preprocessing_dl1r_weighting + <<: *test_train_dependencies script: - pytest --cov=./ --cov-report= ./umami/tests/integration/test_train.py -v -s --junitxml=report.xml -k "test_train_dl1r" - cp .coverage ./coverage_files/.coverage.test_train_dl1r @@ -288,14 +223,15 @@ test_train_dl1r: test_train_umami: <<: *test_template stage: integration_test_tagger - needs: - - test_preprocessing_umami_count - - test_preprocessing_umami_pdf - - test_preprocessing_umami_weighting - dependencies: - - test_preprocessing_umami_count - - test_preprocessing_umami_pdf - - test_preprocessing_umami_weighting + # needs: + # - test_preprocessing_umami_count + # - test_preprocessing_umami_pdf + # - test_preprocessing_umami_weighting + # dependencies: + # - test_preprocessing_umami_count + # - test_preprocessing_umami_pdf + # - test_preprocessing_umami_weighting + <<: *test_train_dependencies script: - pytest --cov=./ --cov-report= ./umami/tests/integration/test_train.py -v -s --junitxml=report.xml -k "test_train_umami" - cp .coverage ./coverage_files/.coverage.test_train_umami @@ -308,14 +244,15 @@ test_train_umami: test_train_tfrecords_umami: <<: *test_template stage: integration_test_tagger - needs: - - test_preprocessing_umami_count - - test_preprocessing_umami_pdf - - test_preprocessing_umami_weighting - dependencies: - - test_preprocessing_umami_count - - test_preprocessing_umami_pdf - - test_preprocessing_umami_weighting + # needs: + # - test_preprocessing_umami_count + # - test_preprocessing_umami_pdf + # - test_preprocessing_umami_weighting + # dependencies: + # - test_preprocessing_umami_count + # - test_preprocessing_umami_pdf + # - test_preprocessing_umami_weighting + <<: *test_train_dependencies script: - pytest --cov=./ --cov-report= ./umami/tests/integration/test_train.py -v -s --junitxml=report.xml -k "test_train_tfrecords_umami" - cp .coverage ./coverage_files/.coverage.test_train_tfrecords_umami @@ -328,14 +265,15 @@ test_train_tfrecords_umami: test_train_cond_att_umami: <<: *test_template stage: integration_test_tagger - needs: - - test_preprocessing_umami_count - - test_preprocessing_umami_pdf - - test_preprocessing_umami_weighting - dependencies: - - test_preprocessing_umami_count - - test_preprocessing_umami_pdf - - test_preprocessing_umami_weighting + # needs: + # - test_preprocessing_umami_count + # - test_preprocessing_umami_pdf + # - test_preprocessing_umami_weighting + # dependencies: + # - test_preprocessing_umami_count + # - test_preprocessing_umami_pdf + # - test_preprocessing_umami_weighting + <<: *test_train_dependencies script: - pytest --cov=./ --cov-report= ./umami/tests/integration/test_train.py -v -s --junitxml=report.xml -k "test_train_cond_att_umami" - cp .coverage ./coverage_files/.coverage.test_train_cond_att_umami @@ -348,14 +286,15 @@ test_train_cond_att_umami: test_train_tfrecords_cond_att_umami: <<: *test_template stage: integration_test_tagger - needs: - - test_preprocessing_umami_count - - test_preprocessing_umami_pdf - - test_preprocessing_umami_weighting - dependencies: - - test_preprocessing_umami_count - - test_preprocessing_umami_pdf - - test_preprocessing_umami_weighting + # needs: + # - test_preprocessing_umami_count + # - test_preprocessing_umami_pdf + # - test_preprocessing_umami_weighting + # dependencies: + # - test_preprocessing_umami_count + # - test_preprocessing_umami_pdf + # - test_preprocessing_umami_weighting + <<: *test_train_dependencies script: - pytest --cov=./ --cov-report= ./umami/tests/integration/test_train.py -v -s --junitxml=report.xml -k "test_train_tfrecords_cond_att_umami" - cp .coverage ./coverage_files/.coverage.test_train_tfrecords_cond_att_umami @@ -380,8 +319,6 @@ test_evaluate_tagger_in_files: test_plot_input_vars: <<: *test_template stage: integration_test_plotting - needs: *dependencies_from_train_stage - dependencies: *dependencies_from_train_stage script: - pytest --cov=./ --cov-report= ./umami/tests/integration/test_input_vars_plot.py -v -s --junitxml=report.xml - cp .coverage ./coverage_files/.coverage.test_input_vars_plot