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

gshift works in subset queries #5963

Merged
merged 5 commits into from
Mar 8, 2024
Merged

gshift works in subset queries #5963

merged 5 commits into from
Mar 8, 2024

Conversation

MichaelChirico
Copy link
Member

Closes #5962. Split off from #5950.

Copy link

codecov bot commented Feb 25, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 97.49%. Comparing base (815e054) to head (2278d26).

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #5963   +/-   ##
=======================================
  Coverage   97.49%   97.49%           
=======================================
  Files          80       80           
  Lines       14861    14861           
=======================================
  Hits        14488    14488           
  Misses        373      373           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@MichaelChirico
Copy link
Member Author

@ben-schwen / @jangorecki pinging for review here as we're running up against our CRAN deadline

@TysonStanley
Copy link
Member

Looks like this is the last piece before we can ship 1.15.2. If this can be approved tomorrow, I can submit by EOD.

@MichaelChirico
Copy link
Member Author

Looks like this is the last piece before we can ship 1.15.2. If this can be approved tomorrow, I can submit by EOD.

@TysonStanley please submit regardless -- if this isn't merged in time, we'll simply ship it with a new patch 1.15.4 afterwards. 1.15.2 already includes the urgent fix that CRAN wants, this PR is good-to-have but not strictly required.

@TysonStanley
Copy link
Member

Will do. Planning to submit Monday EOD (eastern time).

Copy link
Member

@jangorecki jangorecki left a comment

Choose a reason for hiding this comment

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

LGTM

@MichaelChirico
Copy link
Member Author

MichaelChirico commented Feb 29, 2024

Merging to master now. I'll start the 1-15-4 patch branch and add this (with NEWS) once the 1.15.2 tag is up.

@ben-schwen
Copy link
Member

I added the small news from #5950

@MichaelChirico
Copy link
Member Author

I added the small news from #5950

the NEWS doesn't (won't) belong to the 1.16.0 release, though, so I intentionally left it out.

This is a slightly strange aspect of the move to patch releases -- cc @jangorecki @tdhock is there anything different we should do here? To summarize the above, we merge this (and generally, any patch-targeted) change to master and there will be no mention of it in the NEWS for some indefinite period of time (until the corresponding patch is on CRAN). Is that expected?

Related but similar issue -- is it possible for a patch release to be superseded by a "normal" release (e.g. we have a branch 1-15-4 going, but wind up ready to submit 1-16-0 first)? Or would we always push out the patch branch first before proceeding with the normal release?

@ben-schwen
Copy link
Member

As long as we do not mix up numbers between patch release and normal release I do not see anything against a normal release superseding a patch release.

I thought that the intended workflow was that we merge everything against master and then cherry pick some merged (smashed) PRs for patch release. If we merge against master without NEWS then we have to keep a trail of non-completed NEWS which seems tedious and error prone

@jangorecki
Copy link
Member

We could merge patch branch to master when it is on CRAN, then at least we will not have changes added without news entities.

@MichaelChirico
Copy link
Member Author

We could merge patch branch to master when it is on CRAN, then at least we will not have changes added without news entities.

that means excluding the fixes from master until a patch is on CRAN?

@MichaelChirico
Copy link
Member Author

If we merge against master without NEWS then we have to keep a trail of non-completed NEWS which seems tedious and error prone

I agree, but the NEWS entries belong under the patch release heading (1.15.2), so it seems the alternative to me is to have NEWS entries for a release that does not exist (at least on CRAN).

One more option is migrating the NEWS items from "under development" to "patch" in a post-release commit. That may be the best option but also doesn't feel ideal.

@jangorecki
Copy link
Member

We could merge patch branch to master when it is on CRAN, then at least we will not have changes added without news entities.

that means excluding the fixes from master until a patch is on CRAN?

Not even excluding but simply not merging to master but to a patch branch, and once patch is on CRAN then merging it to master with its news.

@MichaelChirico
Copy link
Member Author

We could merge patch branch to master when it is on CRAN, then at least we will not have changes added without news entities.

that means excluding the fixes from master until a patch is on CRAN?

Not even excluding but simply not merging to master but to a patch branch, and once patch is on CRAN then merging it to master with its news.

Still not sure I follow. To clarify that means:

Day 0, we get a report about a regression bug in a published version
Day 1, we write the PR to fix it and merge it to patch
(repeat the above for more patches depending on the urgency)
Day n, we submit patch to CRAN
Day n+1, when patch is accepted, merge patch to master.

That means from days 1 through n+1, the bug remains unfixed on master. Am I missing something? That doesn't seem very desirable.

@jangorecki
Copy link
Member

Yes, it is exactly what I meant. We could be merging patch branch to master even before release to CRAN if it is necessary, but then we need to merge it again after CRAN release. In such case master will temporarily contain patch NEWS items (let's say 1.15.2) before they are on CRAN, and on top of them will be devel NEWS entire (1.15.99).
That way we don't need to cherry pick individual commits but rather whole (or parts of) patch releases.

@MichaelChirico
Copy link
Member Author

I'm not a fan of that approach -- it leaves master with potentially serious regression issues unfixed, where the same issues are fixed on a patch branch.

It's not ideal for us, but I think this approach is the friendliest to users:

  1. Target master with regression fix PRs. Include a NEWS item under the 'devel' heading.
  2. After review, cherry-pick to patch branch, being sure to move the NEWS item to the corresponding patch heading
  3. After release, edit the NEWS to shuffle the released NEWS items around

IINM, this is also more similar to how things have been done historically.

@ben-schwen
Copy link
Member

It's not ideal for us, but I think this approach is the friendliest to users:

  1. Target master with regression fix PRs. Include a NEWS item under the 'devel' heading.
  2. After review, cherry-pick to patch branch, being sure to move the NEWS item to the corresponding patch heading
  3. After release, edit the NEWS to shuffle the released NEWS items around

IINM, this is also more similar to how things have been done historically.

If that's our way to go then we should probably incorporate it into the CRAN_release checklist

@MichaelChirico
Copy link
Member Author

If that's our way to go then we should probably incorporate it into the CRAN_release checklist

Definitely! Just want to get some consensus on the approach before applying it here and documenting it.

@MichaelChirico
Copy link
Member Author

OK I'm taking the two 👍 on #5963 (comment) as OK to proceed for now. We can easily revisit.

@MichaelChirico MichaelChirico merged commit e2ce90a into master Mar 8, 2024
5 checks passed
@MichaelChirico MichaelChirico deleted the gshift-subset branch March 8, 2024 02:26
MichaelChirico added a commit that referenced this pull request Mar 8, 2024
* add fix for subset

* add NEWS

---------

Co-authored-by: Benjamin Schwendinger <benjamin.schwendinger@tuwien.ac.at>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

gshift gives wrong results in subsetting queries
4 participants