CDash
CDash copied to clipboard
Lack of documentation makes CDash unusable
We have been using CDash for more than 10 years now. Our current installation has been running CDash 2.6 successfully for years. I have repeatedly attempted to upgrade to version 3.0 or 3.1, but all attempts finally failed. Most of the time I could not find out, what the correct configuration parameters are, as there is basically no or only outdated documentation. I have reverse-engineered some of the code and thought I had finally found all the pitfalls, but had to find out again, that CDash 3.1 still does not work as expected. I am very frustrated right now, because all those years CDash was really a nice tool, but since the switch to use Laravel underneath, the documentation seems barely to have been touched at all. Unfortunately this makes CDash unusable, unless you are a Laravel and PHP expert and want to reverse engineer all the information, which is missing from the docs. I am aware, that this is an open source tool and I probably shouldn't complain like this, but if only 10% of the effort to develop CDash further would go into documentation, this could continue to be a very useful tool for people using cmake/ctest/CDash for their build and test environment.
It sounds like you're having trouble installing/upgrading CDash. Just making sure, you've seen our installation documentation, right?
https://github.com/Kitware/CDash/blob/master/docs/install.md
Assuming so, please let us know what steps aren't working for you, what error messages you're encountering, or what portions of this document are confusing.
For configuration variables, these are mostly documented in .env.example now.
I understand your frustration. Please feel free to reach out with more specific questions.
I have seen that part of the documentation. However it leaves many questions open, when you try to use docker.
- The first is, how to configure the docker image at all. Am I supposed to defined a derived image and copy an .env file into that image? Or do I do configuration via environment variables, which seem to override any settings in the .env file as I found out from the Laravel documentation?
- There seem to be two sets of configuration variables. .env.example documents variables like DB_HOST, but any variables contained in CDASH_CONFIG seem to use an additional CDASH_ prefix, i.e. CDASH_DB_HOST. I was never sure, which of the two versions is actually used.
- It took me hours to find out, that I had to set the MAIL_ENCRYPTION variable to '' to suppress usage of TLS for sending through a locally running mail server.
- After everything seemed to have worked, I put everything behind Traefik as a proxy, as I did with version 2.6 as well. In this case, the CDash instance was reachable with a path like 'https://machine/CDash'. However then modifying the project configuration ceased to work, as CDash seemed to ignore the APP_URL for any generated URLs there, i.e. any files being loaded by the browser were referring to 'http://machine/' instead of 'https://machine/CDash/'
After this final issue I gave up.
@martin5233 I think number 4 can be fixed with this #1176
@oyarzun: Thanks for letting me know. I will give it a try, when the next stable release is available.
Hi there,
We are trying to upgrade from CDash 3.0.3 to 3.1.0, and we are struggling with the same questions.
I am glad to see some efforts go into modernizing the CDash codebase, but I feel like the documentation is lagging behind. The first and most important question would be: how to configure CDash when using the kitware/cdash docker image?
The changelog says:
Starting with this version of CDash, the vast majority of site-specific configuration settings are now stored in .env rather than the previous location app/cdash/config/config.local.php.
But the docker how-to guide does not mention .env. Also, the docker image already contains a .env file. I am confused. I spent some time reading through the bits of documentation and digging into the code, but I am still confused as to how to use the docker image.
Any help would be appreciated.