-
-
Notifications
You must be signed in to change notification settings - Fork 203
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
chore: Adapt handling of optional parameters to interface definition changes in the C core #1567
Conversation
Current Aviator status
This PR was merged manually (without Aviator). Merging manually can negatively impact the performance of the queue. Consider using Aviator next time.
See the real-time status of this PR on the
Aviator webapp.
Use the Aviator Chrome Extension
to see the status of your PR within GitHub.
|
I was wrong, this needed to be fixed in the yaml interface file, and is now fixed. I think this is good to go. Since this is a big change, there is some risk and revdepchecks are in order. There are no functional changes, but there may be bugs. |
The C side PR was merged, which means that this also needs to be merged. It is now updated to what is likely to become C/igraph 0.10.14. I'd like to have this merged soon as it is a blocker for further improvements I want to make. Thus, merge #1568, then merge this, then ping me. |
CI/CD is failing here, https://github.com/igraph/rigraph/actions/runs/11681694081/job/32527681296?pr=1567#step:9:184 :
Haven't looked closer, but is this anticipated? |
5d7abb4
to
34bcf0c
Compare
I stacked and will review later today. |
34bcf0c
to
2bce24f
Compare
C core now updated to the very latest. This is basically at the 0.10.15 C release. |
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.
I'll split this PR. Do I understand correctly that the CRAN failure is fixed with #1568 and that this could wait until after the CRAN release?
a73a1ca
to
26f0dfa
Compare
c1d0791
to
305bc33
Compare
Somehow I missed this comment. Yes, this is correct. I still suggest including this in the release, since it's not possible to pick up the latest C core fixes without it. IMO splitting it up is not the best use of time when we are resource-constrained. |
There now is a route towards merging this and the other open PRs. For branches that start with I have started a branch with the next 20 commits: https://github.com/igraph/rigraph/compare/each-vendor . The proposed process is now:
Once we're on par with the C core, I'll implement a process that vendors commits as they come, one by one. CC @maelle @schochastics . |
32fcd95
to
0fad193
Compare
Making progress, already using two commits from this PR by necessity: main...refs/heads/each-vendor . |
We're almost on par with the current C core, a little glitch with the plfit update: igraph/igraph@2cdc20a#r150944398 . Do we plan a v0.10.16 release for the C core? |
Yes, it's generated. There is step in |
0fad193
to
67e37ff
Compare
@krlmlr The rebase is done, and the target branch in GitHub is changed. I hope I didn't mess up anything. |
Why are tests not running if the target branch is not |
Good question. I only rarely use stacked PRs like this. We can retarget after applying the vendoring branch. Do the tests work for you locally? |
Yes, I still have some trouble running the full check, including examples, in the same way as on CI, so I can't quite try that yet. What I mean is that I'm not sure how to run the full check even on |
Thanks, this seems good enough for now. |
cecf2ff
to
094796d
Compare
ff0b313
to
fb5a498
Compare
The mainline is now in sync with igraph/C. With the new history, are there now commits that you would group together? Ideally, the tests should be representative of the health of the code -- no need to run examples etc. typically. |
I can't find the UI to retarget the PR, this is now good to go to the main branch. |
I did the retargeting just now. |
I'm sorry about this being such a mess. I'm thinking the whole thing might as well be squashed, as there's little value in keeping these commits separate. The changes I was making are not independent. E.g. removing some of these null checks is only possible if we use |
Thanks, great! This PR is really nice now. My goal is to have the mainline bisect-able -- each intermediate commit should pass checks. In case we later see that this commit has created a regression, we can still split it. The PR would now be splittable, but much less so when it was intermingled with all the changes in the C core. There's no need to invest up front. The only reason to do so is to learn more about the changes now, I trust you there. New changes in the C core should now also be imported automatically, commit by commit. I'll see to that. And we have a way to deal with a backlog of changes, just like that we had before today. We're in good shape! |
…rated code and remove support for deprecated array3 type
…d missing IGRAPH_R_CHECK error checks
These checks are added automatically by Stimulus for OPTIONAL parameters
… widest path functions This parameter is not optional in C, but it still needs a default in R to signify that weights should be taken from attributes.
fb5a498
to
52cc223
Compare
This PR contains two changes:
Both PRs should be merged at the same time.
There is some duplicate NULL-check ugliness that is not harmful, but should be cleaned up. I think this needs to be fixed directly in Stimulus. Can you help with this @Antonov548 ? Example:
(Rf_isNull(weights) ? 0 : (Rf_isNull(weights) ? NULL : &c_weights))
I'm marking this as draft so it doesn't get accidentally merged before we all agree, but from my side it's good to go.