CDash: Remove old builds

I just recently upgraded to CDash 3.1 and had a bit of a hard time figuring out how old builds are now removed; Long story short, there seem to be two ways:

  • in .env, add AUTOREMOVE_BUILDS=true, then old builds should be removed on new submission
  • alternatively, run php artisan build:remove all in the CDash folder (from command line or via crontab)

The CDash documentation I found are lacking/outdated in that regard:

  • Mastering CMake still references a config.local.php; this now is configured in the .env file as far as I can tell, and the respective line is AUTOREMOVE_BUILDS=true instead of $CDASH_AUTOREMOVE_BUILDS='1'; (I haven’t found a way to submit change requests here, maybe someone can point me in the right direction?)
  • The docs subfolder in Kitware/CDash seems to be the proper place for new documentation? It does not seem to contain a documentation for this purpose yet, though. Is it a good idea to submit a pull request with a file with above guidelines there?
  • The section on Automatic removal of builds on the CDash Administration page of the Kitware Wiki mentions a CDash/autoRemoveBuilds.php file, which doesn’t exist anymore. The whole maintenance section seems somwhat outdated. Should this be updated, or a hint added that the information there only applies to an older version with a link to newer documentation maybe?

Not sure if this is the right place to ask questions about CDash - I didn’t find a forum specific to CDash unfortunately…

2 Likes

@zackgalbreath

This command also does not work. Just prints

[2023-10-23 01:46:17] development.INFO: about to query for builds to remove {"function":"removeFirstBuilds"} 
[2023-10-23 01:46:17] development.INFO: removing old buildids for projectid: 1 {"function":"removeFirstBuilds"} 
  -- removing old buildids for projectid: 1

and hangs forever in this state.

Don’t really know but maybe tries to remove too many builds at onc?

You can try and limit the number of builds that are removed each time the command is run, by modifying the AutoRemove Max Builds value in the project settings, or the autoremovemaxbuilds in the database.