From christian.morales.vega at gmail.com Tue Apr 2 04:57:28 2019 From: christian.morales.vega at gmail.com (Cristian Morales Vega) Date: Tue, 2 Apr 2019 09:57:28 +0100 Subject: [CDash] Using the Docker images is problematic Message-ID: It's nice to have CDash Docker images. But a) I don't think anywhere in https://www.cdash.org/ the Docker images availability is mentioned b) https://github.com/Kitware/cdash-docker seems badly outdated (e.g. apt-get install libpng12-dev fails, with libpng-dev works OK) c) The hash from here (https://github.com/Kitware/cdash-docker/blob/master/Dockerfile#L16) seems outdated Still, after fixing 'a' and 'c', I can easily get a CDash instance up and running. Which is nice. But if instead of using the Dockerfile from that repository I change https://github.com/Kitware/cdash-docker/blob/master/docker-compose.yml#L4 from "kitware/cdash-docker" to "kitware/cdash" or "kitware/cdash:v2.6.0", so the version from Docker Hub (https://hub.docker.com/r/kitware/cdash) is used, my CDash installation fails to work because the MySQL doesn't seem to have the correct tables in place (e.g. I can't login because there is no "cdash.user" table). I know zero about PHP or MySQL. And not a lot more about Docker. So I may be doing something silly. But it seems to me that with just a little bit more effort in documentation/maintainership this could be used even by somebody like me... which would hopefully make CDash more popular by increasing the amount of people actually able to use it. From zack.galbreath at kitware.com Tue Apr 2 09:42:23 2019 From: zack.galbreath at kitware.com (Zack Galbreath) Date: Tue, 2 Apr 2019 09:42:23 -0400 Subject: [CDash] Using the Docker images is problematic In-Reply-To: References: Message-ID: Hi Cristian, Thanks for giving this a try. Sorry it didn't go more smoothly for you. As you eventually discovered, https://hub.docker.com/r/kitware/cdash is the official location of our CDash Docker images. Documentation is available here: https://github.com/Kitware/CDash/blob/master/docker.md If you get some time to try this again please let us know if it works for you or not. -------------- next part -------------- An HTML attachment was scrubbed... URL: From christian.morales.vega at gmail.com Tue Apr 2 10:20:25 2019 From: christian.morales.vega at gmail.com (Cristian Morales Vega) Date: Tue, 2 Apr 2019 15:20:25 +0100 Subject: [CDash] Using the Docker images is problematic In-Reply-To: References: Message-ID: That did work great, thanks. But so https://github.com/Kitware/cdash-docker is basically an outdated version of what's already in https://github.com/Kitware/CDash? Maybe it should be destroyed? It sent me through the wrong path. My problem with the images from Docker Hub was just that I didn't know I had to run "docker-compose run --rm cdash install configure"... because https://github.com/Kitware/cdash-docker/blob/master/README.md doesn't explain it. Also, the first place a new user trying to try CDash is going to find is https://public.kitware.com/Wiki/CDash:Installation, which doesn't mention docker at all. One small issue I noticed is that when I deleted all my Docker images/containers and run "docker-compose up -d" as told at the top of https://github.com/Kitware/CDash/blob/master/docker.md#how-to-guide it did not "download a prebuilt image from DockerHub", it did build it (without using --build). When doing "docker pull kitware/cdash" before "docker-compose up -d" then it did use the image from Docker Hub. In any case it did built just fine without needing to change anything. I had never used docker-compose before, not sure why it didn't download the image when using docker-compose, it can easily be a problem with my system. On Tue, 2 Apr 2019 at 14:42, Zack Galbreath wrote: > > Hi Cristian, > > Thanks for giving this a try. Sorry it didn't go more smoothly for you. As you eventually discovered, https://hub.docker.com/r/kitware/cdash is the official location of our CDash Docker images. > > Documentation is available here: > https://github.com/Kitware/CDash/blob/master/docker.md > > If you get some time to try this again please let us know if it works for you or not. From christian.morales.vega at gmail.com Wed Apr 3 10:29:16 2019 From: christian.morales.vega at gmail.com (Cristian Morales Vega) Date: Wed, 3 Apr 2019 15:29:16 +0100 Subject: [CDash] Branch Coverage with GCov In-Reply-To: References: Message-ID: On Wed, 6 Mar 2019 at 19:08, Zack Galbreath wrote: > As to why this isn't working for you, I'm not sure. Do you see the uploaded gcov.tar file in your backup/ directory on the CDash server? Just to avoid confusing anybody reading this in the future: it's working for me now (minus issue #19124), not sure why it didn't the last time I tried. From christian.morales.vega at gmail.com Thu Apr 4 09:57:31 2019 From: christian.morales.vega at gmail.com (Cristian Morales Vega) Date: Thu, 4 Apr 2019 14:57:31 +0100 Subject: [CDash] GitHub Status API support In-Reply-To: References: Message-ID: On Wed, 20 Feb 2019 at 19:42, Zack Galbreath wrote: > > On Wed, Feb 20, 2019 at 2:00 PM Cristian Morales Vega wrote: >> >> Zack, what are your plans on this? Maybe it's already implemented but >> not documented? > > > We are really, really close :) > > First up, here's a blog post describing CDash's current integration with GitHub: > https://blog.kitware.com/cdash-integration-with-github/ > > This works by commenting on your pull request whenever something goes wrong (build error, test failure, etc). But as you indicated, rather than commenting on a PR, it would be better to have CDash post a status to the commit on GitHub with a link back to itself. The biggest barrier to this goal was the fact that CDash didn't actually ever know when a build was done. So we could only ever post bad news (this is what went wrong), not good news (everything passed, hurray). There was no mechanism in place for CTest to say "Okay CDash, that's the last file I'm going to send you for this build". CTest and CDash finally gained this capability as of CMake v3.14 (currently in the release candidate cycle). > > So now that CDash can actually know when a build is done, we need to teach CDash to use GitHub's status API. This is implemented in CDash PR #748. I've already reviewed these changes and they look good to me. I still need to find the time to test it out & make sure the GitHub status gets updated as expected. Once I do that I'll merge this change into CDash, and our goal of linking back to CDash from the commit status on GitHub will finally be achieved. I see the PR has already been merged. I guess I could take the latest Docker Hub image and just try it? Not sure of the exact steps needed, though. Do I need to add a Webhook to my GitHub repository? Just push or any event? What does happen when CDash receives the POST request from GitHub? Since in my setup right now Jenkins is basically in charge of everything and CDash doesn't really know about anything until it receives the results from Jenkins I'm unsure how all the pieces fit together. From zack.galbreath at kitware.com Fri Apr 5 11:11:10 2019 From: zack.galbreath at kitware.com (Zack Galbreath) Date: Fri, 5 Apr 2019 11:11:10 -0400 Subject: [CDash] GitHub Status API support In-Reply-To: References: Message-ID: On Thu, Apr 4, 2019 at 9:57 AM Cristian Morales Vega < christian.morales.vega at gmail.com> wrote: > I see the PR has already been merged. I guess I could take the latest > Docker Hub image and just try it? Not sure of the exact steps needed, > though. > > Do I need to add a Webhook to my GitHub repository? Just push or any > event? What does happen when CDash receives the POST request from > GitHub? Since in my setup right now Jenkins is basically in charge of > everything and CDash doesn't really know about anything until it > receives the results from Jenkins I'm unsure how all the pieces fit > together. > Yes, this feature is now available. I was going to write up a blog post announcing it & how to use it, but we would also like to add support for GitHub Checks, so I'm going to hold off on official publication until that's ready too. But since you asked, here's how to get CDash to post statuses on your GitHub commits. Step 1: Register a GitHub App for your CDash instance. You can skip this step if you're using a public, Kitware hosted CDash instance like open.cdash.org. Here's what to enter for the various fields on this form. - Homepage URL: the base URL of your CDash installation ( http://open.cdash.org) - User authorization callback URL: user.php on this CDash instance ( https://open.cdash.org/user.php) - Setup URL: leave blank - Redirect on update: leave unchecked - Webhook URL: /api/v1/noop.php (https://open.cdash.org/api/v1/noop.php). This will need to be updated to our new GitHub webhook API endpoint once our support for "GitHub Checks" is ready. - Webhook secret: leave blank for now Permissions: - Repository contents: read only (to be able to compare commits) - Commit statuses: read and write (this is the main feature we're after) - You might also want to give it read & write permissions for Checks now, just so you don't have to update it later once this feature is ready. For now leave "User Permissions" and "Subscribe to events" blank. Update a logo, we recommend cdash.png in the public/img folder. For "Where can this GitHub App be installed?", we recommend "any account" depending on who will be submitting to this CDash. Now you can finally click "Create GitHub app". Record your APP ID. this will go in your config.local.php file as $CDASH_GITHUB_APP_ID. Also generate a private key and upload this to config/github.pem. Step 2: Install the app on your repository / organization. >From https://github.com/settings/apps/ click the "Install App" link in the sidebar and follow the instructions. This will give you an installation ID. Step 3: Add the installation ID to your CDash project - Login to CDash as a project admin. - Navigate to Settings -> Project -> Repository - Make sure your project's GitHub URL is filled in under the Repository field. - Input your installation ID under the "username" field Step 4: update your builds to specify a "status context" (example here ) The idea here is that you might not necessarily want every single build of a commit to be publishing its status to GitHub. So we make this feature opt-in on a per-build basis. This also gives us the opportunity to specify a context for this build, so we can differentiate between multiple builds posting status on a single commit. Rather than adding another CTest variable to hold this information, we decided to use the relatively new "build properties" feature in CDash. This allows you to upload arbitrary key/value pairs (in JSON format) that will be associated with a build. When testing CDash itself on CircleCI we do two builds, one for MySQL and one for Postgres. Here's an example of what this looks like on GitHub (click the green checkmark on the last commit) -------------- next part -------------- An HTML attachment was scrubbed... URL: From s.dinkelacker at dkfz-heidelberg.de Sat Apr 13 01:26:51 2019 From: s.dinkelacker at dkfz-heidelberg.de (Dinkelacker, Stefan) Date: Sat, 13 Apr 2019 05:26:51 +0000 Subject: [CDash] Submission details "empty" Message-ID: <1555133211159.51167@dkfz-heidelberg.de> Hi list, we currently switch from a CDash v2.0.2 installation to a new server with CDash v2.6.0. I recreated our project on the new server (no migration, from scratch), created all the subprojects and so on. Our scripts also submit successfully to the new server but I cannot browse the submission details. For example, on the project site my build shows up and also the columns are updated as it should be like "Build Warn -> 58". But when I click on the number of warnings I get a pretty much empty but valid viewBuildError page stating "Found 0 Warnings across 0 subprojects". If I click on the revision of my build, the viewUpdate page is also pretty much empty but valid like it states 0 updated/modified files even though there were updates in this revision. I'm glad for any help or suggestions. :-) Unfortunately the new dashboard is not yet reachable from the outside, so I cannot provide URLs. Cheers, Stefan -------------- next part -------------- An HTML attachment was scrubbed... URL: From s.dinkelacker at dkfz-heidelberg.de Sun Apr 14 01:49:49 2019 From: s.dinkelacker at dkfz-heidelberg.de (Dinkelacker, Stefan) Date: Sun, 14 Apr 2019 05:49:49 +0000 Subject: [CDash] Submission details "empty" In-Reply-To: <1555133211159.51167@dkfz-heidelberg.de> References: <1555133211159.51167@dkfz-heidelberg.de> Message-ID: <1555220989567.75505@dkfz-heidelberg.de> Some additions: Server: CentOS 7.6.1810, PHP 7.2.17 w/ php-fpm (ius-community repo), MariaDB 5.5.60 Build clients: Windows 10 w/ Visual Studio 2017 & 2019 I logged the database queries for a submission and basically there is no INSERT into the relevant tables like builderror when I provoke an error in the source code *but* interestingly all the test related tables are filled and I can browse the test results. Also there is no error in the database log files. These are the tables that something was inserted into: build build2configure build2group build2note build2test build2update buildtesttime buildupdate configure feed label label2build label2test note pending_submissions subproject subproject2subproject test testmeasurement So my current assumption is that the issue is on the PHP-side of CDash as the relevant queries are not even sent to the database server while some of them like everything related to testing are sent just fine? Von: CDash im Auftrag von Dinkelacker, Stefan Gesendet: Samstag, 13. April 2019 07:26 An: cdash at public.kitware.com Betreff: [CDash] Submission details "empty" Hi list, we currently switch from a CDash v2.0.2 installation to a new server with CDash v2.6.0. I recreated our project on the new server (no migration, from scratch), created all the subprojects and so on. Our scripts also submit successfully to the new server but I cannot browse the submission details. For example, on the project site my build shows up and also the columns are updated as it should be like "Build Warn -> 58". But when I click on the number of warnings I get a pretty much empty but valid viewBuildError page stating "Found 0 Warnings across 0 subprojects". If I click on the revision of my build, the viewUpdate page is also pretty much empty but valid like it states 0 updated/modified files even though there were updates in this revision. I'm glad for any help or suggestions. :-) Unfortunately the new dashboard is not yet reachable from the outside, so I cannot provide URLs. Cheers, Stefan -------------- next part -------------- An HTML attachment was scrubbed... URL: From sean at rogue-research.com Thu Apr 18 17:12:50 2019 From: sean at rogue-research.com (Sean McBride) Date: Thu, 18 Apr 2019 17:12:50 -0400 Subject: [CDash] CDash v2.6 released In-Reply-To: References: <20190320183201.1981758447@mail.rogue-research.com> Message-ID: <20190418211250.1057882966@mail.rogue-research.com> On Thu, 21 Mar 2019 09:38:12 -0400, Zack Galbreath said: >Thanks for pointing this out, Sean. I updated the download page for v2.6. Zack, Thanks. Also, I find the page: makes it rather hard to find the "prebuilt" download tarball. It mentions its existence, and how to get it with git, but seems to me if someone wants to upgrade a production server, it'd be nice to have the prebuilt tarball downloadable from there somewhere... I had to go hunting around github to find it. Cheers, Sean From christian.morales.vega at gmail.com Fri Apr 26 12:00:39 2019 From: christian.morales.vega at gmail.com (Cristian Morales Vega) Date: Fri, 26 Apr 2019 17:00:39 +0100 Subject: [CDash] GitHub Status API support In-Reply-To: References: Message-ID: On Fri, 5 Apr 2019 at 16:11, Zack Galbreath wrote: > > On Thu, Apr 4, 2019 at 9:57 AM Cristian Morales Vega wrote: >> >> I see the PR has already been merged. I guess I could take the latest >> Docker Hub image and just try it? Not sure of the exact steps needed, >> though. >> >> Do I need to add a Webhook to my GitHub repository? Just push or any >> event? What does happen when CDash receives the POST request from >> GitHub? Since in my setup right now Jenkins is basically in charge of >> everything and CDash doesn't really know about anything until it >> receives the results from Jenkins I'm unsure how all the pieces fit >> together. > > > Yes, this feature is now available. > > I was going to write up a blog post announcing it & how to use it, but we would also like to add support for GitHub Checks, so I'm going to hold off on official publication until that's ready too. > > But since you asked, here's how to get CDash to post statuses on your GitHub commits. > > Step 1: Register a GitHub App for your CDash instance. > You can skip this step if you're using a public, Kitware hosted CDash instance like open.cdash.org. > Here's what to enter for the various fields on this form. > > Homepage URL: the base URL of your CDash installation (http://open.cdash.org) > User authorization callback URL: user.php on this CDash instance (https://open.cdash.org/user.php) > Setup URL: leave blank > Redirect on update: leave unchecked > Webhook URL: /api/v1/noop.php (https://open.cdash.org/api/v1/noop.php). This will need to be updated to our new GitHub webhook API endpoint once our support for "GitHub Checks" is ready. > Webhook secret: leave blank for now > > Permissions: > > Repository contents: read only (to be able to compare commits) > Commit statuses: read and write (this is the main feature we're after) > You might also want to give it read & write permissions for Checks now, just so you don't have to update it later once this feature is ready. > > For now leave "User Permissions" and "Subscribe to events" blank. > Update a logo, we recommend cdash.png in the public/img folder. > > For "Where can this GitHub App be installed?", we recommend "any account" depending on who will be submitting to this CDash. > > Now you can finally click "Create GitHub app". Record your APP ID. this will go in your config.local.php file as $CDASH_GITHUB_APP_ID. Also generate a private key and upload this to config/github.pem. > > > Step 2: Install the app on your repository / organization. > From https://github.com/settings/apps/ click the "Install App" link in the sidebar and follow the instructions. This will give you an installation ID. > > > Step 3: Add the installation ID to your CDash project > > Login to CDash as a project admin. > Navigate to Settings -> Project -> Repository > Make sure your project's GitHub URL is filled in under the Repository field. > Input your installation ID under the "username" field > > > > Step 4: update your builds to specify a "status context" (example here) > > The idea here is that you might not necessarily want every single build of a commit to be publishing its status to GitHub. So we make this feature opt-in on a per-build basis. This also gives us the opportunity to specify a context for this build, so we can differentiate between multiple builds posting status on a single commit. Rather than adding another CTest variable to hold this information, we decided to use the relatively new "build properties" feature in CDash. This allows you to upload arbitrary key/value pairs (in JSON format) that will be associated with a build. > > When testing CDash itself on CircleCI we do two builds, one for MySQL and one for Postgres. Here's an example of what this looks like on GitHub (click the green checkmark on the last commit) It took me so long that you nearly already have the GitHub checks support in place (https://github.com/Kitware/CDash/pull/832) :-p Just wanted to confirm that today I was able to put it together in my CDash instance and everything works fine. The only thing over these instructions that I had to do is setting the "Repository Viewer URL". It's good to have it anyway, so no big deal. But when setting only Settings -> Project -> Repository it didn't work, both "Repository" and "Repository Viewer URL" need to be in place for it to work for me. Small bug? From christian.morales.vega at gmail.com Tue Apr 2 08:57:28 2019 From: christian.morales.vega at gmail.com (Cristian Morales Vega) Date: Tue, 2 Apr 2019 09:57:28 +0100 Subject: [CDash] Using the Docker images is problematic Message-ID: It's nice to have CDash Docker images. But a) I don't think anywhere in https://www.cdash.org/ the Docker images availability is mentioned b) https://github.com/Kitware/cdash-docker seems badly outdated (e.g. apt-get install libpng12-dev fails, with libpng-dev works OK) c) The hash from here (https://github.com/Kitware/cdash-docker/blob/master/Dockerfile#L16) seems outdated Still, after fixing 'a' and 'c', I can easily get a CDash instance up and running. Which is nice. But if instead of using the Dockerfile from that repository I change https://github.com/Kitware/cdash-docker/blob/master/docker-compose.yml#L4 from "kitware/cdash-docker" to "kitware/cdash" or "kitware/cdash:v2.6.0", so the version from Docker Hub (https://hub.docker.com/r/kitware/cdash) is used, my CDash installation fails to work because the MySQL doesn't seem to have the correct tables in place (e.g. I can't login because there is no "cdash.user" table). I know zero about PHP or MySQL. And not a lot more about Docker. So I may be doing something silly. But it seems to me that with just a little bit more effort in documentation/maintainership this could be used even by somebody like me... which would hopefully make CDash more popular by increasing the amount of people actually able to use it. From zack.galbreath at kitware.com Tue Apr 2 13:42:23 2019 From: zack.galbreath at kitware.com (Zack Galbreath) Date: Tue, 2 Apr 2019 09:42:23 -0400 Subject: [CDash] Using the Docker images is problematic In-Reply-To: References: Message-ID: Hi Cristian, Thanks for giving this a try. Sorry it didn't go more smoothly for you. As you eventually discovered, https://hub.docker.com/r/kitware/cdash is the official location of our CDash Docker images. Documentation is available here: https://github.com/Kitware/CDash/blob/master/docker.md If you get some time to try this again please let us know if it works for you or not. -------------- next part -------------- An HTML attachment was scrubbed... URL: From christian.morales.vega at gmail.com Tue Apr 2 14:20:25 2019 From: christian.morales.vega at gmail.com (Cristian Morales Vega) Date: Tue, 2 Apr 2019 15:20:25 +0100 Subject: [CDash] Using the Docker images is problematic In-Reply-To: References: Message-ID: That did work great, thanks. But so https://github.com/Kitware/cdash-docker is basically an outdated version of what's already in https://github.com/Kitware/CDash? Maybe it should be destroyed? It sent me through the wrong path. My problem with the images from Docker Hub was just that I didn't know I had to run "docker-compose run --rm cdash install configure"... because https://github.com/Kitware/cdash-docker/blob/master/README.md doesn't explain it. Also, the first place a new user trying to try CDash is going to find is https://public.kitware.com/Wiki/CDash:Installation, which doesn't mention docker at all. One small issue I noticed is that when I deleted all my Docker images/containers and run "docker-compose up -d" as told at the top of https://github.com/Kitware/CDash/blob/master/docker.md#how-to-guide it did not "download a prebuilt image from DockerHub", it did build it (without using --build). When doing "docker pull kitware/cdash" before "docker-compose up -d" then it did use the image from Docker Hub. In any case it did built just fine without needing to change anything. I had never used docker-compose before, not sure why it didn't download the image when using docker-compose, it can easily be a problem with my system. On Tue, 2 Apr 2019 at 14:42, Zack Galbreath wrote: > > Hi Cristian, > > Thanks for giving this a try. Sorry it didn't go more smoothly for you. As you eventually discovered, https://hub.docker.com/r/kitware/cdash is the official location of our CDash Docker images. > > Documentation is available here: > https://github.com/Kitware/CDash/blob/master/docker.md > > If you get some time to try this again please let us know if it works for you or not. From christian.morales.vega at gmail.com Wed Apr 3 14:29:16 2019 From: christian.morales.vega at gmail.com (Cristian Morales Vega) Date: Wed, 3 Apr 2019 15:29:16 +0100 Subject: [CDash] Branch Coverage with GCov In-Reply-To: References: Message-ID: On Wed, 6 Mar 2019 at 19:08, Zack Galbreath wrote: > As to why this isn't working for you, I'm not sure. Do you see the uploaded gcov.tar file in your backup/ directory on the CDash server? Just to avoid confusing anybody reading this in the future: it's working for me now (minus issue #19124), not sure why it didn't the last time I tried. From christian.morales.vega at gmail.com Thu Apr 4 13:57:31 2019 From: christian.morales.vega at gmail.com (Cristian Morales Vega) Date: Thu, 4 Apr 2019 14:57:31 +0100 Subject: [CDash] GitHub Status API support In-Reply-To: References: Message-ID: On Wed, 20 Feb 2019 at 19:42, Zack Galbreath wrote: > > On Wed, Feb 20, 2019 at 2:00 PM Cristian Morales Vega wrote: >> >> Zack, what are your plans on this? Maybe it's already implemented but >> not documented? > > > We are really, really close :) > > First up, here's a blog post describing CDash's current integration with GitHub: > https://blog.kitware.com/cdash-integration-with-github/ > > This works by commenting on your pull request whenever something goes wrong (build error, test failure, etc). But as you indicated, rather than commenting on a PR, it would be better to have CDash post a status to the commit on GitHub with a link back to itself. The biggest barrier to this goal was the fact that CDash didn't actually ever know when a build was done. So we could only ever post bad news (this is what went wrong), not good news (everything passed, hurray). There was no mechanism in place for CTest to say "Okay CDash, that's the last file I'm going to send you for this build". CTest and CDash finally gained this capability as of CMake v3.14 (currently in the release candidate cycle). > > So now that CDash can actually know when a build is done, we need to teach CDash to use GitHub's status API. This is implemented in CDash PR #748. I've already reviewed these changes and they look good to me. I still need to find the time to test it out & make sure the GitHub status gets updated as expected. Once I do that I'll merge this change into CDash, and our goal of linking back to CDash from the commit status on GitHub will finally be achieved. I see the PR has already been merged. I guess I could take the latest Docker Hub image and just try it? Not sure of the exact steps needed, though. Do I need to add a Webhook to my GitHub repository? Just push or any event? What does happen when CDash receives the POST request from GitHub? Since in my setup right now Jenkins is basically in charge of everything and CDash doesn't really know about anything until it receives the results from Jenkins I'm unsure how all the pieces fit together. From zack.galbreath at kitware.com Fri Apr 5 15:11:10 2019 From: zack.galbreath at kitware.com (Zack Galbreath) Date: Fri, 5 Apr 2019 11:11:10 -0400 Subject: [CDash] GitHub Status API support In-Reply-To: References: Message-ID: On Thu, Apr 4, 2019 at 9:57 AM Cristian Morales Vega < christian.morales.vega at gmail.com> wrote: > I see the PR has already been merged. I guess I could take the latest > Docker Hub image and just try it? Not sure of the exact steps needed, > though. > > Do I need to add a Webhook to my GitHub repository? Just push or any > event? What does happen when CDash receives the POST request from > GitHub? Since in my setup right now Jenkins is basically in charge of > everything and CDash doesn't really know about anything until it > receives the results from Jenkins I'm unsure how all the pieces fit > together. > Yes, this feature is now available. I was going to write up a blog post announcing it & how to use it, but we would also like to add support for GitHub Checks, so I'm going to hold off on official publication until that's ready too. But since you asked, here's how to get CDash to post statuses on your GitHub commits. Step 1: Register a GitHub App for your CDash instance. You can skip this step if you're using a public, Kitware hosted CDash instance like open.cdash.org. Here's what to enter for the various fields on this form. - Homepage URL: the base URL of your CDash installation ( http://open.cdash.org) - User authorization callback URL: user.php on this CDash instance ( https://open.cdash.org/user.php) - Setup URL: leave blank - Redirect on update: leave unchecked - Webhook URL: /api/v1/noop.php (https://open.cdash.org/api/v1/noop.php). This will need to be updated to our new GitHub webhook API endpoint once our support for "GitHub Checks" is ready. - Webhook secret: leave blank for now Permissions: - Repository contents: read only (to be able to compare commits) - Commit statuses: read and write (this is the main feature we're after) - You might also want to give it read & write permissions for Checks now, just so you don't have to update it later once this feature is ready. For now leave "User Permissions" and "Subscribe to events" blank. Update a logo, we recommend cdash.png in the public/img folder. For "Where can this GitHub App be installed?", we recommend "any account" depending on who will be submitting to this CDash. Now you can finally click "Create GitHub app". Record your APP ID. this will go in your config.local.php file as $CDASH_GITHUB_APP_ID. Also generate a private key and upload this to config/github.pem. Step 2: Install the app on your repository / organization. >From https://github.com/settings/apps/ click the "Install App" link in the sidebar and follow the instructions. This will give you an installation ID. Step 3: Add the installation ID to your CDash project - Login to CDash as a project admin. - Navigate to Settings -> Project -> Repository - Make sure your project's GitHub URL is filled in under the Repository field. - Input your installation ID under the "username" field Step 4: update your builds to specify a "status context" (example here ) The idea here is that you might not necessarily want every single build of a commit to be publishing its status to GitHub. So we make this feature opt-in on a per-build basis. This also gives us the opportunity to specify a context for this build, so we can differentiate between multiple builds posting status on a single commit. Rather than adding another CTest variable to hold this information, we decided to use the relatively new "build properties" feature in CDash. This allows you to upload arbitrary key/value pairs (in JSON format) that will be associated with a build. When testing CDash itself on CircleCI we do two builds, one for MySQL and one for Postgres. Here's an example of what this looks like on GitHub (click the green checkmark on the last commit) -------------- next part -------------- An HTML attachment was scrubbed... URL: From s.dinkelacker at dkfz-heidelberg.de Sat Apr 13 05:26:51 2019 From: s.dinkelacker at dkfz-heidelberg.de (Dinkelacker, Stefan) Date: Sat, 13 Apr 2019 05:26:51 +0000 Subject: [CDash] Submission details "empty" Message-ID: <1555133211159.51167@dkfz-heidelberg.de> Hi list, we currently switch from a CDash v2.0.2 installation to a new server with CDash v2.6.0. I recreated our project on the new server (no migration, from scratch), created all the subprojects and so on. Our scripts also submit successfully to the new server but I cannot browse the submission details. For example, on the project site my build shows up and also the columns are updated as it should be like "Build Warn -> 58". But when I click on the number of warnings I get a pretty much empty but valid viewBuildError page stating "Found 0 Warnings across 0 subprojects". If I click on the revision of my build, the viewUpdate page is also pretty much empty but valid like it states 0 updated/modified files even though there were updates in this revision. I'm glad for any help or suggestions. :-) Unfortunately the new dashboard is not yet reachable from the outside, so I cannot provide URLs. Cheers, Stefan -------------- next part -------------- An HTML attachment was scrubbed... URL: From s.dinkelacker at dkfz-heidelberg.de Sun Apr 14 05:49:49 2019 From: s.dinkelacker at dkfz-heidelberg.de (Dinkelacker, Stefan) Date: Sun, 14 Apr 2019 05:49:49 +0000 Subject: [CDash] Submission details "empty" In-Reply-To: <1555133211159.51167@dkfz-heidelberg.de> References: <1555133211159.51167@dkfz-heidelberg.de> Message-ID: <1555220989567.75505@dkfz-heidelberg.de> Some additions: Server: CentOS 7.6.1810, PHP 7.2.17 w/ php-fpm (ius-community repo), MariaDB 5.5.60 Build clients: Windows 10 w/ Visual Studio 2017 & 2019 I logged the database queries for a submission and basically there is no INSERT into the relevant tables like builderror when I provoke an error in the source code *but* interestingly all the test related tables are filled and I can browse the test results. Also there is no error in the database log files. These are the tables that something was inserted into: build build2configure build2group build2note build2test build2update buildtesttime buildupdate configure feed label label2build label2test note pending_submissions subproject subproject2subproject test testmeasurement So my current assumption is that the issue is on the PHP-side of CDash as the relevant queries are not even sent to the database server while some of them like everything related to testing are sent just fine? Von: CDash im Auftrag von Dinkelacker, Stefan Gesendet: Samstag, 13. April 2019 07:26 An: cdash at public.kitware.com Betreff: [CDash] Submission details "empty" Hi list, we currently switch from a CDash v2.0.2 installation to a new server with CDash v2.6.0. I recreated our project on the new server (no migration, from scratch), created all the subprojects and so on. Our scripts also submit successfully to the new server but I cannot browse the submission details. For example, on the project site my build shows up and also the columns are updated as it should be like "Build Warn -> 58". But when I click on the number of warnings I get a pretty much empty but valid viewBuildError page stating "Found 0 Warnings across 0 subprojects". If I click on the revision of my build, the viewUpdate page is also pretty much empty but valid like it states 0 updated/modified files even though there were updates in this revision. I'm glad for any help or suggestions. :-) Unfortunately the new dashboard is not yet reachable from the outside, so I cannot provide URLs. Cheers, Stefan -------------- next part -------------- An HTML attachment was scrubbed... URL: From sean at rogue-research.com Thu Apr 18 21:12:50 2019 From: sean at rogue-research.com (Sean McBride) Date: Thu, 18 Apr 2019 17:12:50 -0400 Subject: [CDash] CDash v2.6 released In-Reply-To: References: <20190320183201.1981758447@mail.rogue-research.com> Message-ID: <20190418211250.1057882966@mail.rogue-research.com> On Thu, 21 Mar 2019 09:38:12 -0400, Zack Galbreath said: >Thanks for pointing this out, Sean. I updated the download page for v2.6. Zack, Thanks. Also, I find the page: makes it rather hard to find the "prebuilt" download tarball. It mentions its existence, and how to get it with git, but seems to me if someone wants to upgrade a production server, it'd be nice to have the prebuilt tarball downloadable from there somewhere... I had to go hunting around github to find it. Cheers, Sean From christian.morales.vega at gmail.com Fri Apr 26 16:00:39 2019 From: christian.morales.vega at gmail.com (Cristian Morales Vega) Date: Fri, 26 Apr 2019 17:00:39 +0100 Subject: [CDash] GitHub Status API support In-Reply-To: References: Message-ID: On Fri, 5 Apr 2019 at 16:11, Zack Galbreath wrote: > > On Thu, Apr 4, 2019 at 9:57 AM Cristian Morales Vega wrote: >> >> I see the PR has already been merged. I guess I could take the latest >> Docker Hub image and just try it? Not sure of the exact steps needed, >> though. >> >> Do I need to add a Webhook to my GitHub repository? Just push or any >> event? What does happen when CDash receives the POST request from >> GitHub? Since in my setup right now Jenkins is basically in charge of >> everything and CDash doesn't really know about anything until it >> receives the results from Jenkins I'm unsure how all the pieces fit >> together. > > > Yes, this feature is now available. > > I was going to write up a blog post announcing it & how to use it, but we would also like to add support for GitHub Checks, so I'm going to hold off on official publication until that's ready too. > > But since you asked, here's how to get CDash to post statuses on your GitHub commits. > > Step 1: Register a GitHub App for your CDash instance. > You can skip this step if you're using a public, Kitware hosted CDash instance like open.cdash.org. > Here's what to enter for the various fields on this form. > > Homepage URL: the base URL of your CDash installation (http://open.cdash.org) > User authorization callback URL: user.php on this CDash instance (https://open.cdash.org/user.php) > Setup URL: leave blank > Redirect on update: leave unchecked > Webhook URL: /api/v1/noop.php (https://open.cdash.org/api/v1/noop.php). This will need to be updated to our new GitHub webhook API endpoint once our support for "GitHub Checks" is ready. > Webhook secret: leave blank for now > > Permissions: > > Repository contents: read only (to be able to compare commits) > Commit statuses: read and write (this is the main feature we're after) > You might also want to give it read & write permissions for Checks now, just so you don't have to update it later once this feature is ready. > > For now leave "User Permissions" and "Subscribe to events" blank. > Update a logo, we recommend cdash.png in the public/img folder. > > For "Where can this GitHub App be installed?", we recommend "any account" depending on who will be submitting to this CDash. > > Now you can finally click "Create GitHub app". Record your APP ID. this will go in your config.local.php file as $CDASH_GITHUB_APP_ID. Also generate a private key and upload this to config/github.pem. > > > Step 2: Install the app on your repository / organization. > From https://github.com/settings/apps/ click the "Install App" link in the sidebar and follow the instructions. This will give you an installation ID. > > > Step 3: Add the installation ID to your CDash project > > Login to CDash as a project admin. > Navigate to Settings -> Project -> Repository > Make sure your project's GitHub URL is filled in under the Repository field. > Input your installation ID under the "username" field > > > > Step 4: update your builds to specify a "status context" (example here) > > The idea here is that you might not necessarily want every single build of a commit to be publishing its status to GitHub. So we make this feature opt-in on a per-build basis. This also gives us the opportunity to specify a context for this build, so we can differentiate between multiple builds posting status on a single commit. Rather than adding another CTest variable to hold this information, we decided to use the relatively new "build properties" feature in CDash. This allows you to upload arbitrary key/value pairs (in JSON format) that will be associated with a build. > > When testing CDash itself on CircleCI we do two builds, one for MySQL and one for Postgres. Here's an example of what this looks like on GitHub (click the green checkmark on the last commit) It took me so long that you nearly already have the GitHub checks support in place (https://github.com/Kitware/CDash/pull/832) :-p Just wanted to confirm that today I was able to put it together in my CDash instance and everything works fine. The only thing over these instructions that I had to do is setting the "Repository Viewer URL". It's good to have it anyway, so no big deal. But when setting only Settings -> Project -> Repository it didn't work, both "Repository" and "Repository Viewer URL" need to be in place for it to work for me. Small bug? From christian.morales.vega at gmail.com Tue Apr 2 08:57:28 2019 From: christian.morales.vega at gmail.com (Cristian Morales Vega) Date: Tue, 2 Apr 2019 09:57:28 +0100 Subject: [CDash] Using the Docker images is problematic Message-ID: It's nice to have CDash Docker images. But a) I don't think anywhere in https://www.cdash.org/ the Docker images availability is mentioned b) https://github.com/Kitware/cdash-docker seems badly outdated (e.g. apt-get install libpng12-dev fails, with libpng-dev works OK) c) The hash from here (https://github.com/Kitware/cdash-docker/blob/master/Dockerfile#L16) seems outdated Still, after fixing 'a' and 'c', I can easily get a CDash instance up and running. Which is nice. But if instead of using the Dockerfile from that repository I change https://github.com/Kitware/cdash-docker/blob/master/docker-compose.yml#L4 from "kitware/cdash-docker" to "kitware/cdash" or "kitware/cdash:v2.6.0", so the version from Docker Hub (https://hub.docker.com/r/kitware/cdash) is used, my CDash installation fails to work because the MySQL doesn't seem to have the correct tables in place (e.g. I can't login because there is no "cdash.user" table). I know zero about PHP or MySQL. And not a lot more about Docker. So I may be doing something silly. But it seems to me that with just a little bit more effort in documentation/maintainership this could be used even by somebody like me... which would hopefully make CDash more popular by increasing the amount of people actually able to use it. From zack.galbreath at kitware.com Tue Apr 2 13:42:23 2019 From: zack.galbreath at kitware.com (Zack Galbreath) Date: Tue, 2 Apr 2019 09:42:23 -0400 Subject: [CDash] Using the Docker images is problematic In-Reply-To: References: Message-ID: Hi Cristian, Thanks for giving this a try. Sorry it didn't go more smoothly for you. As you eventually discovered, https://hub.docker.com/r/kitware/cdash is the official location of our CDash Docker images. Documentation is available here: https://github.com/Kitware/CDash/blob/master/docker.md If you get some time to try this again please let us know if it works for you or not. -------------- next part -------------- An HTML attachment was scrubbed... URL: From christian.morales.vega at gmail.com Tue Apr 2 14:20:25 2019 From: christian.morales.vega at gmail.com (Cristian Morales Vega) Date: Tue, 2 Apr 2019 15:20:25 +0100 Subject: [CDash] Using the Docker images is problematic In-Reply-To: References: Message-ID: That did work great, thanks. But so https://github.com/Kitware/cdash-docker is basically an outdated version of what's already in https://github.com/Kitware/CDash? Maybe it should be destroyed? It sent me through the wrong path. My problem with the images from Docker Hub was just that I didn't know I had to run "docker-compose run --rm cdash install configure"... because https://github.com/Kitware/cdash-docker/blob/master/README.md doesn't explain it. Also, the first place a new user trying to try CDash is going to find is https://public.kitware.com/Wiki/CDash:Installation, which doesn't mention docker at all. One small issue I noticed is that when I deleted all my Docker images/containers and run "docker-compose up -d" as told at the top of https://github.com/Kitware/CDash/blob/master/docker.md#how-to-guide it did not "download a prebuilt image from DockerHub", it did build it (without using --build). When doing "docker pull kitware/cdash" before "docker-compose up -d" then it did use the image from Docker Hub. In any case it did built just fine without needing to change anything. I had never used docker-compose before, not sure why it didn't download the image when using docker-compose, it can easily be a problem with my system. On Tue, 2 Apr 2019 at 14:42, Zack Galbreath wrote: > > Hi Cristian, > > Thanks for giving this a try. Sorry it didn't go more smoothly for you. As you eventually discovered, https://hub.docker.com/r/kitware/cdash is the official location of our CDash Docker images. > > Documentation is available here: > https://github.com/Kitware/CDash/blob/master/docker.md > > If you get some time to try this again please let us know if it works for you or not. From christian.morales.vega at gmail.com Wed Apr 3 14:29:16 2019 From: christian.morales.vega at gmail.com (Cristian Morales Vega) Date: Wed, 3 Apr 2019 15:29:16 +0100 Subject: [CDash] Branch Coverage with GCov In-Reply-To: References: Message-ID: On Wed, 6 Mar 2019 at 19:08, Zack Galbreath wrote: > As to why this isn't working for you, I'm not sure. Do you see the uploaded gcov.tar file in your backup/ directory on the CDash server? Just to avoid confusing anybody reading this in the future: it's working for me now (minus issue #19124), not sure why it didn't the last time I tried. From christian.morales.vega at gmail.com Thu Apr 4 13:57:31 2019 From: christian.morales.vega at gmail.com (Cristian Morales Vega) Date: Thu, 4 Apr 2019 14:57:31 +0100 Subject: [CDash] GitHub Status API support In-Reply-To: References: Message-ID: On Wed, 20 Feb 2019 at 19:42, Zack Galbreath wrote: > > On Wed, Feb 20, 2019 at 2:00 PM Cristian Morales Vega wrote: >> >> Zack, what are your plans on this? Maybe it's already implemented but >> not documented? > > > We are really, really close :) > > First up, here's a blog post describing CDash's current integration with GitHub: > https://blog.kitware.com/cdash-integration-with-github/ > > This works by commenting on your pull request whenever something goes wrong (build error, test failure, etc). But as you indicated, rather than commenting on a PR, it would be better to have CDash post a status to the commit on GitHub with a link back to itself. The biggest barrier to this goal was the fact that CDash didn't actually ever know when a build was done. So we could only ever post bad news (this is what went wrong), not good news (everything passed, hurray). There was no mechanism in place for CTest to say "Okay CDash, that's the last file I'm going to send you for this build". CTest and CDash finally gained this capability as of CMake v3.14 (currently in the release candidate cycle). > > So now that CDash can actually know when a build is done, we need to teach CDash to use GitHub's status API. This is implemented in CDash PR #748. I've already reviewed these changes and they look good to me. I still need to find the time to test it out & make sure the GitHub status gets updated as expected. Once I do that I'll merge this change into CDash, and our goal of linking back to CDash from the commit status on GitHub will finally be achieved. I see the PR has already been merged. I guess I could take the latest Docker Hub image and just try it? Not sure of the exact steps needed, though. Do I need to add a Webhook to my GitHub repository? Just push or any event? What does happen when CDash receives the POST request from GitHub? Since in my setup right now Jenkins is basically in charge of everything and CDash doesn't really know about anything until it receives the results from Jenkins I'm unsure how all the pieces fit together. From zack.galbreath at kitware.com Fri Apr 5 15:11:10 2019 From: zack.galbreath at kitware.com (Zack Galbreath) Date: Fri, 5 Apr 2019 11:11:10 -0400 Subject: [CDash] GitHub Status API support In-Reply-To: References: Message-ID: On Thu, Apr 4, 2019 at 9:57 AM Cristian Morales Vega < christian.morales.vega at gmail.com> wrote: > I see the PR has already been merged. I guess I could take the latest > Docker Hub image and just try it? Not sure of the exact steps needed, > though. > > Do I need to add a Webhook to my GitHub repository? Just push or any > event? What does happen when CDash receives the POST request from > GitHub? Since in my setup right now Jenkins is basically in charge of > everything and CDash doesn't really know about anything until it > receives the results from Jenkins I'm unsure how all the pieces fit > together. > Yes, this feature is now available. I was going to write up a blog post announcing it & how to use it, but we would also like to add support for GitHub Checks, so I'm going to hold off on official publication until that's ready too. But since you asked, here's how to get CDash to post statuses on your GitHub commits. Step 1: Register a GitHub App for your CDash instance. You can skip this step if you're using a public, Kitware hosted CDash instance like open.cdash.org. Here's what to enter for the various fields on this form. - Homepage URL: the base URL of your CDash installation ( http://open.cdash.org) - User authorization callback URL: user.php on this CDash instance ( https://open.cdash.org/user.php) - Setup URL: leave blank - Redirect on update: leave unchecked - Webhook URL: /api/v1/noop.php (https://open.cdash.org/api/v1/noop.php). This will need to be updated to our new GitHub webhook API endpoint once our support for "GitHub Checks" is ready. - Webhook secret: leave blank for now Permissions: - Repository contents: read only (to be able to compare commits) - Commit statuses: read and write (this is the main feature we're after) - You might also want to give it read & write permissions for Checks now, just so you don't have to update it later once this feature is ready. For now leave "User Permissions" and "Subscribe to events" blank. Update a logo, we recommend cdash.png in the public/img folder. For "Where can this GitHub App be installed?", we recommend "any account" depending on who will be submitting to this CDash. Now you can finally click "Create GitHub app". Record your APP ID. this will go in your config.local.php file as $CDASH_GITHUB_APP_ID. Also generate a private key and upload this to config/github.pem. Step 2: Install the app on your repository / organization. >From https://github.com/settings/apps/ click the "Install App" link in the sidebar and follow the instructions. This will give you an installation ID. Step 3: Add the installation ID to your CDash project - Login to CDash as a project admin. - Navigate to Settings -> Project -> Repository - Make sure your project's GitHub URL is filled in under the Repository field. - Input your installation ID under the "username" field Step 4: update your builds to specify a "status context" (example here ) The idea here is that you might not necessarily want every single build of a commit to be publishing its status to GitHub. So we make this feature opt-in on a per-build basis. This also gives us the opportunity to specify a context for this build, so we can differentiate between multiple builds posting status on a single commit. Rather than adding another CTest variable to hold this information, we decided to use the relatively new "build properties" feature in CDash. This allows you to upload arbitrary key/value pairs (in JSON format) that will be associated with a build. When testing CDash itself on CircleCI we do two builds, one for MySQL and one for Postgres. Here's an example of what this looks like on GitHub (click the green checkmark on the last commit) -------------- next part -------------- An HTML attachment was scrubbed... URL: From s.dinkelacker at dkfz-heidelberg.de Sat Apr 13 05:26:51 2019 From: s.dinkelacker at dkfz-heidelberg.de (Dinkelacker, Stefan) Date: Sat, 13 Apr 2019 05:26:51 +0000 Subject: [CDash] Submission details "empty" Message-ID: <1555133211159.51167@dkfz-heidelberg.de> Hi list, we currently switch from a CDash v2.0.2 installation to a new server with CDash v2.6.0. I recreated our project on the new server (no migration, from scratch), created all the subprojects and so on. Our scripts also submit successfully to the new server but I cannot browse the submission details. For example, on the project site my build shows up and also the columns are updated as it should be like "Build Warn -> 58". But when I click on the number of warnings I get a pretty much empty but valid viewBuildError page stating "Found 0 Warnings across 0 subprojects". If I click on the revision of my build, the viewUpdate page is also pretty much empty but valid like it states 0 updated/modified files even though there were updates in this revision. I'm glad for any help or suggestions. :-) Unfortunately the new dashboard is not yet reachable from the outside, so I cannot provide URLs. Cheers, Stefan -------------- next part -------------- An HTML attachment was scrubbed... URL: From s.dinkelacker at dkfz-heidelberg.de Sun Apr 14 05:49:49 2019 From: s.dinkelacker at dkfz-heidelberg.de (Dinkelacker, Stefan) Date: Sun, 14 Apr 2019 05:49:49 +0000 Subject: [CDash] Submission details "empty" In-Reply-To: <1555133211159.51167@dkfz-heidelberg.de> References: <1555133211159.51167@dkfz-heidelberg.de> Message-ID: <1555220989567.75505@dkfz-heidelberg.de> Some additions: Server: CentOS 7.6.1810, PHP 7.2.17 w/ php-fpm (ius-community repo), MariaDB 5.5.60 Build clients: Windows 10 w/ Visual Studio 2017 & 2019 I logged the database queries for a submission and basically there is no INSERT into the relevant tables like builderror when I provoke an error in the source code *but* interestingly all the test related tables are filled and I can browse the test results. Also there is no error in the database log files. These are the tables that something was inserted into: build build2configure build2group build2note build2test build2update buildtesttime buildupdate configure feed label label2build label2test note pending_submissions subproject subproject2subproject test testmeasurement So my current assumption is that the issue is on the PHP-side of CDash as the relevant queries are not even sent to the database server while some of them like everything related to testing are sent just fine? Von: CDash im Auftrag von Dinkelacker, Stefan Gesendet: Samstag, 13. April 2019 07:26 An: cdash at public.kitware.com Betreff: [CDash] Submission details "empty" Hi list, we currently switch from a CDash v2.0.2 installation to a new server with CDash v2.6.0. I recreated our project on the new server (no migration, from scratch), created all the subprojects and so on. Our scripts also submit successfully to the new server but I cannot browse the submission details. For example, on the project site my build shows up and also the columns are updated as it should be like "Build Warn -> 58". But when I click on the number of warnings I get a pretty much empty but valid viewBuildError page stating "Found 0 Warnings across 0 subprojects". If I click on the revision of my build, the viewUpdate page is also pretty much empty but valid like it states 0 updated/modified files even though there were updates in this revision. I'm glad for any help or suggestions. :-) Unfortunately the new dashboard is not yet reachable from the outside, so I cannot provide URLs. Cheers, Stefan -------------- next part -------------- An HTML attachment was scrubbed... URL: From sean at rogue-research.com Thu Apr 18 21:12:50 2019 From: sean at rogue-research.com (Sean McBride) Date: Thu, 18 Apr 2019 17:12:50 -0400 Subject: [CDash] CDash v2.6 released In-Reply-To: References: <20190320183201.1981758447@mail.rogue-research.com> Message-ID: <20190418211250.1057882966@mail.rogue-research.com> On Thu, 21 Mar 2019 09:38:12 -0400, Zack Galbreath said: >Thanks for pointing this out, Sean. I updated the download page for v2.6. Zack, Thanks. Also, I find the page: makes it rather hard to find the "prebuilt" download tarball. It mentions its existence, and how to get it with git, but seems to me if someone wants to upgrade a production server, it'd be nice to have the prebuilt tarball downloadable from there somewhere... I had to go hunting around github to find it. Cheers, Sean From christian.morales.vega at gmail.com Fri Apr 26 16:00:39 2019 From: christian.morales.vega at gmail.com (Cristian Morales Vega) Date: Fri, 26 Apr 2019 17:00:39 +0100 Subject: [CDash] GitHub Status API support In-Reply-To: References: Message-ID: On Fri, 5 Apr 2019 at 16:11, Zack Galbreath wrote: > > On Thu, Apr 4, 2019 at 9:57 AM Cristian Morales Vega wrote: >> >> I see the PR has already been merged. I guess I could take the latest >> Docker Hub image and just try it? Not sure of the exact steps needed, >> though. >> >> Do I need to add a Webhook to my GitHub repository? Just push or any >> event? What does happen when CDash receives the POST request from >> GitHub? Since in my setup right now Jenkins is basically in charge of >> everything and CDash doesn't really know about anything until it >> receives the results from Jenkins I'm unsure how all the pieces fit >> together. > > > Yes, this feature is now available. > > I was going to write up a blog post announcing it & how to use it, but we would also like to add support for GitHub Checks, so I'm going to hold off on official publication until that's ready too. > > But since you asked, here's how to get CDash to post statuses on your GitHub commits. > > Step 1: Register a GitHub App for your CDash instance. > You can skip this step if you're using a public, Kitware hosted CDash instance like open.cdash.org. > Here's what to enter for the various fields on this form. > > Homepage URL: the base URL of your CDash installation (http://open.cdash.org) > User authorization callback URL: user.php on this CDash instance (https://open.cdash.org/user.php) > Setup URL: leave blank > Redirect on update: leave unchecked > Webhook URL: /api/v1/noop.php (https://open.cdash.org/api/v1/noop.php). This will need to be updated to our new GitHub webhook API endpoint once our support for "GitHub Checks" is ready. > Webhook secret: leave blank for now > > Permissions: > > Repository contents: read only (to be able to compare commits) > Commit statuses: read and write (this is the main feature we're after) > You might also want to give it read & write permissions for Checks now, just so you don't have to update it later once this feature is ready. > > For now leave "User Permissions" and "Subscribe to events" blank. > Update a logo, we recommend cdash.png in the public/img folder. > > For "Where can this GitHub App be installed?", we recommend "any account" depending on who will be submitting to this CDash. > > Now you can finally click "Create GitHub app". Record your APP ID. this will go in your config.local.php file as $CDASH_GITHUB_APP_ID. Also generate a private key and upload this to config/github.pem. > > > Step 2: Install the app on your repository / organization. > From https://github.com/settings/apps/ click the "Install App" link in the sidebar and follow the instructions. This will give you an installation ID. > > > Step 3: Add the installation ID to your CDash project > > Login to CDash as a project admin. > Navigate to Settings -> Project -> Repository > Make sure your project's GitHub URL is filled in under the Repository field. > Input your installation ID under the "username" field > > > > Step 4: update your builds to specify a "status context" (example here) > > The idea here is that you might not necessarily want every single build of a commit to be publishing its status to GitHub. So we make this feature opt-in on a per-build basis. This also gives us the opportunity to specify a context for this build, so we can differentiate between multiple builds posting status on a single commit. Rather than adding another CTest variable to hold this information, we decided to use the relatively new "build properties" feature in CDash. This allows you to upload arbitrary key/value pairs (in JSON format) that will be associated with a build. > > When testing CDash itself on CircleCI we do two builds, one for MySQL and one for Postgres. Here's an example of what this looks like on GitHub (click the green checkmark on the last commit) It took me so long that you nearly already have the GitHub checks support in place (https://github.com/Kitware/CDash/pull/832) :-p Just wanted to confirm that today I was able to put it together in my CDash instance and everything works fine. The only thing over these instructions that I had to do is setting the "Repository Viewer URL". It's good to have it anyway, so no big deal. But when setting only Settings -> Project -> Repository it didn't work, both "Repository" and "Repository Viewer URL" need to be in place for it to work for me. Small bug?