Reword development guideline of PR merging to be more general meaning, expanding the meaning beyond CI
Based on the comment below
Reword development guideline of PR merging to be more general meaning, expanding the meaning beyond CI
Based on the comment below
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/32006.
See the guideline for information on the review process.
Type | Reviewers |
---|---|
Stale ACK | rkrux |
If your review is incorrectly listed, please react with ๐ to this comment and the bot will ignore it on the next update.
729@@ -730,7 +730,7 @@ General Bitcoin Core
730
731 - Make sure pull requests pass CI before merging.
732
733- - *Rationale*: Makes sure that they pass thorough testing, and that the tester will keep passing
734+ - *Rationale*: Make sure that they pass through testing, and that the tester will keep passing
1414@@ -1415,7 +1415,7 @@ A few guidelines for introducing and reviewing new RPC interfaces:
1415 convert a plaintext command line to JSON. If the types don't match, the method can be unusable
1416 from there.
1417
1418-- A RPC method must either be a wallet method or a non-wallet method. Do not
1419+- An RPC method must either be a wallet method or a non-wallet method. Do not
729@@ -730,7 +730,7 @@ General Bitcoin Core
730
731 - Make sure pull requests pass CI before merging.
732
733- - *Rationale*: Makes sure that they pass thorough testing, and that the tester will keep passing
734+ - *Rationale*: Make sure that they pass thorough testing, and that the tester will keep passing
735 on the master branch. Otherwise, all new pull requests will start failing the tests, resulting in
736 confusion and mayhem.
737
this can probably be dropped completely. I’d guess it was written back when CI on open source was an fresh and possibly unknown concept. However, today, it seems common sense to require passing CI for all CI tasks, just like the code is required to compile on all supported build configs (even if they are not tested by CI). But the requirement that code must compile on all supported build configs isn’t mentioned here either.
So, I’d say to either remove this (as it is common sense), or reword it to a more general meaning, expanding the meaning beyond CI.
I have changed the commit message, the PR title and PR description, are they okay now?
Thanks for your review ^_^
IMO, this section should be kept by rewording it a bit as suggested in this comment #32006 (review). Though it is common sense now to ensure a passing CI, there could be new contributors who might not be aware of it and this section is something that can be shared with them if needed. Also, I’ve seen few instances of CI (beyond this repo) where the CI checks are not required to be passing for the PR to be merged, having this section would set clear expectations of a PR.
Having said this, my comment is not blocking if other reviewers are on-board with removing this section.
Also, the author would need to remove the tag to maflcko in the PR description because this causes the other person to be pinged repeatedly later but I can’t seem to find right now where this is stated.
๐ง At least one of the CI tasks failed. Debug: https://github.com/bitcoin/bitcoin/runs/38893801821
Try to run the tests locally, according to the documentation. However, a CI failure may still happen due to a number of reasons, for example:
Possibly due to a silent merge conflict (the changes in this pull request being incompatible with the current code in the target branch). If so, make sure to rebase on the latest commit of the target branch.
A sanitizer issue, which can only be found by compiling with the sanitizer and running the affected test.
An intermittent issue.
Leave a comment here, if you need help tracking down a confusing failure.
743+ 1. Must compile successfully under all supported build configurations
744+ 2. Must pass automated test suites (unit, functional, fuzz)
745+ 3. Must include new test coverage for added functionality
746+
747+ - *Implementation*:
748+ - For modifying existing behavior, update affected test cases first
746+
747+ - *Implementation*:
748+ - For modifying existing behavior, update affected test cases first
749+ - For platform-specific changes, verify against multiple target environments
750+ - For new features, create test cases covering success/failure scenarios, edge case validation,
751+ and fuzz testing targets for security-critical components
not sure if it makes sense to extend this further, at the risk of being inaccurate or redundant with other docs.
My preference would be to either remove it or keep it short