-
Notifications
You must be signed in to change notification settings - Fork 37
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
CICD Updates for Igraph changes and Ubuntu Tidy patch #306
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
❗ Your organization needs to install the Codecov GitHub app to enable full functionality. Additional details and impacted files@@ Coverage Diff @@
## main #306 +/- ##
=======================================
Coverage 92.60% 92.60%
=======================================
Files 12 12
Lines 946 946
=======================================
Hits 876 876
Misses 70 70 ☔ View full report in Codecov by Sentry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @bburns632 !
There's one part of this I don't understand though... shouldn't there also be some changes in R/
and man/
?
Assuming this work was triggered by the NOTEs I see at https://cran.r-project.org/web/checks/check_results_pkgnet.html
Result: NOTE
checkRd: (-1) DependencyReporter.Rd:21-28: Lost braces in \itemize; meant \describe ?
checkRd: (-1) DependencyReporter.Rd:44-55: Lost braces in \itemize; meant ...
checkRd: (-1) PackageReport.Rd:50-52: Lost braces
50 | \item{\bold{\code{reporter}}: Instantiated package reporter
| ^
checkRd: (-1) PackageReport.Rd:54-58: Lost braces in \itemize; meant \describe ?
...
and
Result: NOTE
Found the following HTML validation problems:
DependencyReporter.html:35:1 (DependencyReporter.Rd:18): Warning: trimming empty <dt>
FunctionReporter.html:101:1 (FunctionReporter.Rd:60): Warning: trimming empty <dt>
InheritanceReporter.html:79:1 (InheritanceReporter.Rd:46): Warning: trimming empty <dt>
PackageReporters.html:34:1 (PackageReporters.Rd:15): Warning: trimming empty <dt>
SummaryReporter.html:33:1 (SummaryReporter.Rd:16): Warning: trimming empty <dt>
If adding tidy
was all it took to reproduce those NOTEs from CRAN, I'd expect CI to be failing still because this PR adds it but doesn't modify any of the docs.
That's a fair callout @jameslamb. I think we need to fix either roxygen or pkgdown to earlier versions (preferable to overhauling all our docs). Have any suggestions on versions to tie down in DESCRIPTION file? |
I think it'd be better to use the latest version... it's hard to keep an I could do it in a follow-up PR some time in the next few days if you'd like! |
I got some time. I'll take a look. Trying out this hack first: r-lib/roxygen2#457 (comment) |
OK. @jameslamb How about this? We just add I checked out the pkgdown build locally (mac) and it looked to be formatted fine with this parameter. Let's let it fly. |
Oh yeah I'm good with that! Ship it. |
@jameslamb just need you to hit the approve button, and it'll be shipped. Blocked until then as I tagged you as a reviewer. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ah sorry about that, approved!
Could you please clarify if you are seeing any change in results when computing the authority score of a directed graph? The fix in igraph 0.10.5 affected only undirected graphs (where hub and authority scores are identical to each other, as well as to the eigenvector centrality). If you see a change on directed graphs, something may be wrong. |
@szhorvat , I would appreciate your help investigating this potential issue. It is an directed graph. Here is where we calculated the authority_score for a Directed Graph via igraph: Lines 462 to 468 in a904eca
Here is where we build the iGraph object: Lines 251 to 281 in a904eca
Here is how to reproduce the exact iGraph object for which we changed expected values in the recent PR (#306 tests/testthat/testdata/node_measures_baseballstats_FunctionReporter.csv). It is an R package build during testing:
EDIT: Revised above to rely on devtools::install_local() |
Thank you for the detailed instructions. I am not really an R user, so this makes it much easier for me. However, when following the procedure of the last code block, I'm stuck at
I tried Alternatively, perhaps you could export and upload this specific igraph object, and I can just work with this? Hopefully there's nothing wrong, but I was surprised to see this PR and I want to make sure that there's no issue in igraph (no incorrect result). |
@szhorvat baseballstats is a dummy package we use for testing that is included in the source of this repo. You can find it here: https://github.com/uptake/pkgnet/tree/main/inst/baseballstats (the relative path should be consistent no matter what commit you're on) My R is rusty and I'm not sure if this is the best way, but I think |
@szhorvat My mistake. I thought referencing an internal script to set up the packages worked, but in reality, I still have some installed in my dev environment from this PR. I edited the above to leverage Also, here is the "graphml" file created from that script: |
Thanks for the help! I now see what's going on. The change actually happened in 0.10.0, not in 0.10.5 (the latter affecting only undirected graphs, where hub and authority scores are non-interesting anyway). The bad news: The network you have is rather unfortunate, as the hub and authority scores are not uniquely defined with it. These scores are the leading eigenvector of In these cases igraph cannot guarantee a specific result, so future CI failures are possible. The result may in principle depend on things like the BLAS/LAPACK/ARPACK versions used. It's basically out of our control. The fix that was made in 0.10 was to ensure that the hub and authority scores are returned as a matching pair, as described here: The good news:
|
The tl;dr is that we're (probably) good, no need to do anything for either pkgnet or igraph. A slight change of the network, if possible, would eliminate the degeneracy, but I wouldn't worry about it until you actually start to see inconsistent results. Thanks for helping me examine this! pkgnet is a cool package, it was interesting to apply it to igraph itself. |
@szhorvat, thank you so much! If we notice any inconsistent errors, we'll adjust our test packages to avoid this issue altogether. Thanks for the compliment. We obviously love |
This PR gets CICD tests back to working status after some updates in rigraph and Ubuntu images caused job failures:
get.edgelist
andget.vertex.attribute
functions.