Page MenuHomePhabricator

Rewrite dashboard script for CDash 2.6
Closed, ResolvedPublic

Description

I cannot browse into the details. For example all tests passed but when I click on the number there's an empty page saying 0 tests passed sucessfully. Same for warnings etc...

Event Timeline

kislinsk triaged this task as Normal priority.Jan 23 2019, 12:49 PM
kislinsk created this task.
kislinsk moved this task from Restricted Project Column to Restricted Project Column on the Restricted Project board.
kislinsk moved this task from Restricted Project Column to Restricted Project Column on the Restricted Project board.Feb 27 2019, 10:40 AM

Things I found so far:

  • There is/was a missing slash in an XML tag of a file that specifies our subprojects and their dependencies
  • As soon as the MITK-Configure project is submitted, a CDash error is logged: This build already has a configure {"fn":"BuildConfigure::Insert", ...}
  • The actual issue seems to be that we do not submit a Done.xml file at the end of the build

Without the Done.xml submission, the submission won't get rid of the pending status and the details like errors, warnings, and modifications are not parsed and inserted into the database.

kislinsk renamed this task from Figure out why the MITK CDash submission to e071-jenkins/cdash is not browsable to Figure out why CDash submissions to CDash 2.6 servers are not browsable.May 9 2019, 8:58 AM
kislinsk added a project: MITK (2018-04-4).
kislinsk updated the task description. (Show Details)
kislinsk changed the visibility from "Restricted Project (Project)" to "Public (No Login Required)".
kislinsk changed the edit policy from "Restricted Project (Project)" to "Task Author".

To get an overview of MITK subprojects:

  • Subprojects are defined in top-level CMakeLists.txt:445 (CTEST_PROJECT_SUBPROJECTS)
  • Subprojects are written into <BINARY_DIR>/CTestConfigSubProject.cmake
  • Additional subprojects can be appended to CTEST_PROJECT_ADDITIONAL_TARGETS
  • Subprojects are also written into <BINARY_DIR>/Project.xml
    • Basically same subprojects are written into Project.xml for superbuild and MITK build (superbuild-version adds SuperBuild as project dependency to subprojects)
    • Documentation subproject is hard-coded into Project.xml with all other subprojects as dependency
  • For each subproject defined in top-level CMakeLists.txt a custom target is created except for "Unlabeled"
  • Not sure if "Unlabeled" is really used in general as it can only be found a few times in the source tree but seemingly only in queries
  • mitk_create_module() has parameter SUBPROJECTS
    • If not set but MITK_DEFAULT_SUBPROJECTS variable is set, it is used instead
    • Else, "MITK-Modules" is set as subproject
    • Subprojects and "MITK" are added as labels to all sources
    • If the module is not header-only, the labels are also added to the target and the module target is added as dependency to the subproject targets
    • module subprojects can be queried after the function call via MODULE_SUBPROJECTS
  • mitk_create_plugin() also has parameter SUBPROJECTS
    • If not set but MITK_DEFAULT_SUBPROJECTS variable is set, it is used instead
    • Else, "MITK-Plugins" is set as subproject
    • Only the target is labeled, not the sources
    • Also, no "MITK" label as in modules
  • mitk_create_executable() basically uses mitk_create_module()
  • mitk_create_module_tests() basically uses mitk_create_executable()
    • Subproject and "MITK" labels are added to the tests
  • mitkAddCustomModuleTests() does the same
  • mitkFunctionAddTestLabel() appends a label to a test
    • Only used by DICOMTesting module for tests named DICOM_Load_${input} where the name is also added as label
kislinsk moved this task from Postpone to Backlog on the MITK (2018-04-4) board.
kislinsk edited projects, added MITK (2020), CI; removed MITK.

Deleted branch bugfix/T25882-CDash-v2.6.

Deleted branch hotfix/T25882-CDash-v2.6.

I still cannot browse submission results. :/

The This build already has a configure error in the CDash log file is triggered because we submit the Configure part twice: for the superbuild and for the MITK-build. However, it seems that this part is only allowed to be submitted once.

@kislinsk Currently the Dashboard, does not show the error or failed tests if you click on the Number in the table. Is this part of this issues or another one?

This is part of this issue (actually the main reason). It is already working in my local version but I have to make a few adaptions to get a stable minimum working version for production.

Deleted branch hotfix/T25882-CDash-v2.6.

kislinsk renamed this task from Figure out why CDash submissions to CDash 2.6 servers are not browsable to Rewrite dashboard script for CDash 2.6.Sep 2 2020, 7:54 PM
kislinsk updated the task description. (Show Details)

Todos

  • MITK_BUILD_OPTIONS for MITK cache vars
  • Check why there are documentation errors "lost edge a b" but when I manually "make doc" on the client, it works
  • OpenCV somehow seems to trigger Ant errors on Ubuntu only during the first build (problem in Nightlies)
  • First time build of MatchPoint triggers many warnings as errors on macOS

Deleted branch bugfix/T25882-RewriteDashboardScript.

I think I fixed the OpenCV Ant issue by updating the volume snapshot for our Ubuntu 20.04 cloud instances to include the environment variable ANT_HOME=/usr/share/ant.

I finally found the source of the documentation errors by accident. It was a dot digraph with invalid flat edges between record shapes. I changed the shapes to boxes and it should work now.

OMG. how should one find this...

macOS MatchPoint errors that are actually just warnings should be fixed now as well. It's a bug in CMake/CTest and the workaround is to use launchers: https://gitlab.kitware.com/cmake/cmake/-/issues/20832

Deleted branch T25882-CDash-v2.6.

As unknown sites are appearing on our dashboard, we should introduce authentication:
https://blog.kitware.com/cdash-authenticated-submissions/

Deleted branch feature/T25882-CDashAuthorization.

Sigh. Just one time I'd like not to stumble over bugs when dealing with CDash. I implemented the authorization, double-checked that the proxy does not throw away the authorization HTTP header, watched the cdash database, and figured out that as soon as CDash is comparing a valid token... it deletes it from the database.

Found the bug in CDash. In app/Model/AuthToken.php:51 the "special value" 9999-12-31 23:59:59 is inserted into the database whereas the maximum value for TIMESTAMP is 2038-01-19 03:14:07. Hence the "special value" appears as 0000-00-00 00:00:00 in the database which will trigger the deletion when it is compared with the current date.

As a quickfix I changed the literal value in AuthToken.php to 2038-01-19 03:14:07.

Deleted branch feature/T25882-MITKOptions.

Deleted branch bugfix/T25882-RewriteDashboardScript.