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

release v0.18.0 #5232

Closed
13 tasks done
dcherian opened this issue Apr 28, 2021 · 60 comments · Fixed by #5273
Closed
13 tasks done

release v0.18.0 #5232

dcherian opened this issue Apr 28, 2021 · 60 comments · Fixed by #5273

Comments

@dcherian
Copy link
Contributor

dcherian commented Apr 28, 2021

As discussed in the meeting, we should issue a release soon with the new backend refactor and the new docs theme.

Here's a list of blockers:

Would be nice and look done:

Somewhat important, but no PR yet:

@TomNicholas and @alexamici volunteered to handle this. I can be online at release time to help with things if needed.

Release instructions are here: https://github.com/pydata/xarray/blob/master/HOW_TO_RELEASE.md

IIRC they'll need to be added to the PyPI list and RTD list.

@Illviljan
Copy link
Contributor

May I suggest #4740, the only thing this needs I think is a rebase. I recently got a new computer and was reminded how slow the interpolation is without these changes.

@alexamici
Copy link
Collaborator

alexamici commented Apr 30, 2021

I propose the following timeline that is the fastest I can personally try:

  • Monday May the 3rd, feature freeze, please refrain from merging new features unless they are discussed here
  • during feature freeze everybody please help reviewing the PR in the list above
  • Thursday the 6th, target release day, the best would be to schedule a window for a couple of hours (?) for @TomAugspurger and me to going through the release steps together with @dcherian.

@TomAugspurger and others does it work for you all?

@TomNicholas
Copy link
Member

@alexamici I think you tagged the wrong Tom, but yes that works for me.

@max-sixty
Copy link
Collaborator

I think @alexamici 's plan is reasonable. I've had less of a process — no freeze etc — and that's worked fine — we do have a good test suite, and I've been really trying to make the release process a normal thing anyone can do in an hour.

But it's your call (and there's not much practical difference).

Thanks again!

@dcherian
Copy link
Contributor Author

dcherian commented Apr 30, 2021

IIRC they'll need to be added to the PyPI list

We can avoid this by using the pypi github action thing to automatically build and upload when tagging a release on github. It uses a repo-level secret. Just a thought.

and RTD list.

I added @alexamici . @TomNicholas you need to sign up on RTD before I can add you there as a maintainer

@dopplershift
Copy link
Contributor

We can avoid this by using the pypi github action thing to automatically build and upload when tagging a release on github. It uses a repo-level secret. Just a thought.

$0.02 from an outsider is that this has served us exceedingly well on MetPy. Our release process has become:

  1. Close milestone
  2. Adjust the auto-generated draft GitHub release (summary notes)
  3. Click "publish release" -> packages uploaded to PyPI
  4. Merge conda-forge update from their bots

It's almost more secure this way because the token from PyPI only has upload permissions--no need to store someone's password.

@TomNicholas
Copy link
Member

(@dcherian I've signed up on RTD now)

@keewis
Copy link
Collaborator

keewis commented May 3, 2021

great, you're a maintainer now (for pint-xarray, too, btw)

@dcherian
Copy link
Contributor Author

dcherian commented May 4, 2021

It'd be nice to bump our minimum dependency versions if someone has the time.

@keewis keewis mentioned this issue May 4, 2021
2 tasks
@alexamici
Copy link
Collaborator

alexamici commented May 5, 2021

Form what I can see the #5258 "bump versions" looks ready, someone with knowledge about minimum versions please merge it.

After that is in, @dcherian you can probably uncomment the var._meta bit in #4740 "faster interp" and we can merge it as well. Again I'm not a user of that part of code, and I would feel more conformable if someone with more knowledge would click on the "merge" button.

This leaves only #5235 as a blocker that has a failing test, a proposed fix by @keewis. but the OP hasn't responded yet. How should we handle it? This looks ready to merge now. Sorry @tomwhite I read the timestamps wrong. Great job!

@alexamici
Copy link
Collaborator

alexamici commented May 5, 2021

Any thoughts on merging #5244 and doing the v0.18.0 release via GitHub Actions?

I'm using GA in a couple of repositories and I find them very handy, but I usually had to make a couple of releases before getting all the details right, which looks awkward to do with a high profile project like xarray.

We could try release one or more release candidates and go for v0.18.0 only after we are sure the GA release procedure is working though.

@keewis
Copy link
Collaborator

keewis commented May 5, 2021

we could also temporarily switch the uploads to test.pypi.org to verify, create debug versions (rc candidates?) and switch back to pypi.org once we're confident

@kmuehlbauer
Copy link
Contributor

we could also temporarily switch the uploads to test.pypi.org

Why not always upload pushes to master to test.pypi.org?

@keewis
Copy link
Collaborator

keewis commented May 5, 2021

I think that's because nobody had that idea, yet.

Edit: that would also help with the idea in #5244 (comment). Let's continue that discussion in #5244

@alexamici
Copy link
Collaborator

@TomNicholas & @dcherian I'm having a look at the what's new, shall we set a time for going through the release process? do we want do the steps while in a call?

@TomNicholas
Copy link
Member

@alexamici yes sure - I'm free anytime today except for 2-3pm EST.

@alexamici
Copy link
Collaborator

alexamici commented May 6, 2021

@TomNicholas I'm in Europe, with a meeting at 17:30-18:30 CEST (11:30-12:30 EST) we can probably start now-ish and finish after 3pm EST. I propose to hijack the community meeting zoom :)

@dcherian
Copy link
Contributor Author

dcherian commented May 6, 2021

We're still waiting on #5235.

Let's do 12.30 Eastern at https://columbiauniversity.zoom.us/j/953527251

@alexamici
Copy link
Collaborator

alexamici commented May 6, 2021

@dcherian 11:30-12:30 EST I'm meeting with Stephan and Joe, I hope to have them merge #5235 :)

12:30 EST is fine by me. I cannot make it :/

@keewis
Copy link
Collaborator

keewis commented May 6, 2021

#5235 shouldn't be that much of an issue. There are two decisions to check: never collapse the repr of MemoryCachedArray and keep the array used to check that small (we have a limit of 1e5, after which the repr changes from array([...]) to [xyz values with dtype=...])

Edit: essentially: I don't want to merge it myself

@dcherian
Copy link
Contributor Author

dcherian commented May 6, 2021

I don't have permissions to generate a PyPI token... I think either @jhamman or @shoyer need to do that.

@keewis
Copy link
Collaborator

keewis commented May 6, 2021

uploading to TestPyPI works so uploading to PyPI should work, too, once we have the token

@alexamici
Copy link
Collaborator

@dcherian I'm sorry, I have cannot make it by 12:30 EST. I think you and @TomNicholas can go on without me or I will be back later.

@dcherian
Copy link
Contributor Author

dcherian commented May 6, 2021

OK I think we can go ahead. 3 people is pretty overkill for the release process :P The token has been added and I'm in the Zoom room @TomNicholas

@alexamici
Copy link
Collaborator

Deleting and re-creating the release should work (I've done it on one of my projects)

@TomNicholas
Copy link
Member

Okay let me try that then

@andersy005 andersy005 reopened this May 6, 2021
@andersy005
Copy link
Member

I accidentally closed this via Github's keywords... The bug in the CI workflow should be fixed.

@TomNicholas
Copy link
Member

hmm should I also delete the tag? It appears to be also linked to one of @keewis ' PRs (#5272)

@andersy005
Copy link
Member

hmm should I also delete the tag?

Yes...

@alexamici
Copy link
Collaborator

hmm should I also delete the tag? It appears to be also linked to one of @keewis ' PRs (#5272)

yes, sorry: delete release AND tag. Then re-create release.

@keewis
Copy link
Collaborator

keewis commented May 6, 2021

yes, please. The command to create the tag should be

# empty commit unless you update the release date there
git commit --empty -am 'Release v0.18.0'
git tag -a v0.18.0 -m 'v0.18.0'

@andersy005
Copy link
Member

andersy005 commented May 6, 2021

@keewis, do we need to do anything with the release on test.pypi.org? (since the v0.18 is already published there)

@keewis
Copy link
Collaborator

keewis commented May 6, 2021

errr... we can't do anything about that, PyPI and TestPyPI don't allow republishing the same version

@keewis
Copy link
Collaborator

keewis commented May 6, 2021

maybe we should make the "upload to TestPyPI" a separate step?

@TomNicholas
Copy link
Member

oh - I just deleted both and then re-released just now, but v0.18.0 again...

@TomNicholas
Copy link
Member

Looks like it did push to PyPI this time though? https://github.com/pydata/xarray/runs/2521179293?check_suite_focus=true

@dcherian
Copy link
Contributor Author

dcherian commented May 6, 2021

Yup, nice work everyone!

https://pypi.org/project/xarray/

@keewis
Copy link
Collaborator

keewis commented May 6, 2021

ah, right, only the "push tag" workflow run failed

@alexamici
Copy link
Collaborator

I'm testing after pip install -U xarray just to be on the safe side 😄

@TomNicholas
Copy link
Member

Alright I'll carry on with the other steps then I guess? 😅

@TomNicholas
Copy link
Member

How many xarray devs does it take to do a release? Answer: at least 5 apparently

@alexamici
Copy link
Collaborator

How many xarray devs does it take to do a release? Answer: at least 5 apparently

🤦

But next time it will be sooooooo smooth!

@andersy005
Copy link
Member

maybe we should make the "upload to TestPyPI" a separate step?

Or we could just set

skip_existing: true

on the upload to TestPyPI step.

@TomNicholas
Copy link
Member

Okay that should be everything except emailing the mailing lists, which I will try now

@alexamici
Copy link
Collaborator

12899 passed, 1145 skipped, 211 xfailed, 63 xpassed, 321 warnings on my Mac.

@alexamici
Copy link
Collaborator

@TomNicholas feel free to close the issue once you are done.

@TomNicholas
Copy link
Member

My email got bounced from pyaos@lists.johnny-lin.com because I'm not a member, but otherwise I think this is done. (I'm also not subscribed to numpy-discussion@scipy.org or scipy-user@scipy.org so maybe it's about to get bounced from there too).

@TomNicholas
Copy link
Member

I updated the release guide in #5274 by the way.

@dcherian
Copy link
Contributor Author

dcherian commented May 6, 2021

Nice work, @TomNicholas

@shoyer
Copy link
Member

shoyer commented May 6, 2021 via email

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 a pull request may close this issue.

10 participants