-
-
Notifications
You must be signed in to change notification settings - Fork 752
Skip config dependant specs #2819
Conversation
pirj
left a comment
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.
Looks good, LGTM.
But still, do we really need this? I'm not sure I understand why. That subsequent PR removes in_fully_monkey_patched_rspec_environment altogether.
For an all-green merge of those three PRs? They were green against each other, and they will still be red against main after merging.
|
I'm trying to get it so that each PR can be merged individually, this is always the preference unless it is impossible / extremely difficult, which these changes should not be. If we can avoid it we don't merge broken code. This is because it is a lot easier as a maintainer to make and review changes with green builds. They only need to be green against |
|
Merging, build failure is due to minitest on Ruby 3.1 (the new head) |
The only difference between Scraping out monkey patching is a different story. Those changes are what makes repos incompatible with |
We are talking about the monkey patching removal, those PRs only need to be green against |
|
I apologise, this might be less confusing if we had named By preference we always want to have a green PR for merging into a dev branch if possible, pinning between the three is the last resort when its not otherwise possible, because it's a pain to have to review and merge three/four PRs simultaneously. |
|
Right. But this PR has nothing to do with Those three PRs, #2803, rspec/rspec-expectations#1245, rspec/rspec-mocks#1365 were meant to be merged together. They have inter-dependent changes, specifically:
Their builds pointing to each other's branches (using This the point I suggested to merge I still don't quite understand why we need to make those intermediate builds green. And at this moment I'm puzzled how to rebase the following: I'm going this way: But now it implies that after merging those three PRs in question I'll have to send a cleanup PR to remove this Or is it ok to remove this line as well right away? |
Correct
I have been able to merge one PR because its ready, I am reviewing another which needs changes, and the final one needs those two PRS merged. The first two PRs were not dependant at all on any other PR after this was merged. This was the point. To remove the interedependency.
They are not backwards compatible, its just about reducing the size and scope of the PRs. Massive commits / PRs are harder to reason with and understand. By making these small changes (in this PR) it stops it becoming one monster PR (which is undesirable) and makes it possible to review and merge smaller PRs, which are always preferred as they are easier to review and understand.
The correct rebase is to remove the changes this PR makes. The rspec-core PR will be last, and will remain red until the other PRs are done, at which point its build can be kicked over and it reviewed and merged. |
Still didn't work 😄
Completely agree in general. In this specific case you mean the purpose of this is to be able to review these three PRs independently from each other? |
|
@JonRowe Quick approve? rspec/rspec-expectations#1258 |
This specific PR and its predecessor, where meant as interim steps specifically to allow the rspec-mocks and rspec-expectations to be reviewed and merged using |
|
Ah I see what you mean, a cucumber scenario that wasn't picked up in CI |
…monkey-patching-removal Skip config dependant specs --- This commit was imported from rspec/rspec-core@46292a3.
rspec/rspec-core#2819 (comment) --- This commit was imported from rspec/rspec-expectations@60b6214.


@pirj further work to allow independent merging of PRs