Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add CDash URLs to builds and nonpassing tests with same base repo version #485

Merged
merged 13 commits into from
Jun 7, 2022

Conversation

bartlettroscoe
Copy link
Member

@bartlettroscoe bartlettroscoe commented Jun 7, 2022

This PR add CDash URLs getting printed and written to file for the builds and non-passing tests on CDash for the same base repo Git version SHA1 (see Issue #483). For more info, see the new section Links to results on CDash.

Notes to Reviewers

This is to make the file easier to navigate so I can add more unit tests.

This file has gotten way too big and needs to be broken into several smaller
files at some point here.
This was not printing out the semi-colons in a list passed to
message_wrapper().

I noticed this while working on #483.
I also updated the documentation some for unittest_string_regex().

I do not run the new function unittest_string_var_regex() in this commit but
will in a later commit where I manually tested as part of work for #483 to
ensure it passes and fails when it should.
This makes the module TribitsGeneralMacros.cmake smaller and better aggregates
these commands.

I also added a new macro tribits_assert_parse_arg_one_value() which I just
tested manually.  It is a very simple macro so I am not too worried about not
unit testing it yet.
This allows more compact argument parsing code and checking
keitat
keitat previously approved these changes Jun 7, 2022
Copy link
Collaborator

@keitat keitat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

We need to be breaking up TribitsGlobalMacros.cmake because it is too long.
This will be a robust way to generate the CDash URLs that contain 'Revision'
for when the base git repos can't produce a SHA1.  And this is just a very
generally useful function.
This comes up with refactorings being done for #483.
I will be adding functions for getting more CDash URLs that for just this one
build's results.
This is part of a refactoring to display more CDash URLs other than just build
URLs.
This will make this easier to reuse to get other CDash URLs.
…ersion (#483)

This makes it easy to click on links to these other CDash URLs to see what is
happening with all of the builds for the same repo version.

The main target is for the GitHub Actions drivers for TriBITS testing.  This
makes it easy to get at those results.

As part of this, I also renamed the function
tribits_get_build_url_and_write_to_file() to tribits_get_cdash_build_url() and
removed the ability to write to a file.  (We just don't need that anymore and
it is trivial to write a string to a file.)
This will post the base repo version info to CDash which provides more info
right on CDash on the main index.php page.

However, it will set CTEST_DO_UPDATES=OFF unless the base repo is a Git repo
and we can extract the SHA1 from the repo with tribits_git_repo_sha1() (which
is a very robust function).
@bartlettroscoe
Copy link
Member Author

Hello @KyleFromKitware, can you please do a review of this PR? It is likely better to review this PR one-commit-at-a-time and ignore whitespace (see "Notes to Reviewers" above.

Also, I would like to merge this right now and allow you to do a post-merge review (and any issues can be resolved in a follow-up PR).

Copy link
Collaborator

@rabartlett1972 rabartlett1972 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving so the merge can happen but it would be good to get a post-merge review from @KyleFromKitware

@bartlettroscoe bartlettroscoe merged commit 57755dd into master Jun 7, 2022
bartlettroscoe added a commit to bartlettroscoe/TriBITS that referenced this pull request Jun 10, 2022
bartlettroscoe added a commit to bartlettroscoe/TriBITS that referenced this pull request Jun 10, 2022
It was pointed out by @KyleFromKitware in the review of PR TriBITSPub#485 that calling
cmake_policy() in a function will change a policy in the calling scope.

NOTE: The function() command does not create a new policy scope but does
create a new variable scope.  Just the opposite, include() creates a new
policy scope but not a new variable scope.
bartlettroscoe added a commit to bartlettroscoe/TriBITS that referenced this pull request Jun 10, 2022
…iBITSPub#485)

With newer CMake version, you can just quote the entire argument:

  "--pretty=format:<fmnt>"

where <fmnt> may have spaces and everything seems to work correctly.
bartlettroscoe added a commit to bartlettroscoe/TriBITS that referenced this pull request Jun 10, 2022
bartlettroscoe added a commit to bartlettroscoe/TriBITS that referenced this pull request Jun 10, 2022
It was pointed out by @KyleFromKitware in the review of PR TriBITSPub#485 that calling
cmake_policy() in a function will change a policy in the calling scope.

NOTE: The function() command does not create a new policy scope but does
create a new variable scope.  Just the opposite, include() creates a new
policy scope but not a new variable scope.
bartlettroscoe added a commit to bartlettroscoe/TriBITS that referenced this pull request Jun 10, 2022
…iBITSPub#485)

With newer CMake version, you can just quote the entire argument:

  "--pretty=format:<fmnt>"

where <fmnt> may have spaces and everything seems to work correctly.
bartlettroscoe added a commit that referenced this pull request Jun 10, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

4 participants