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

Document release process #1300

Open
takluyver opened this issue Sep 10, 2019 · 6 comments · May be fixed by #1614
Open

Document release process #1300

takluyver opened this issue Sep 10, 2019 · 6 comments · May be fixed by #1614

Comments

@takluyver
Copy link
Member

#1290 added release automation with Rever, but this doesn't (yet?) include building wheels, which is done from this repository for Linux & Mac, and by Christoph Gohlke for Windows.

@tacaswell also mentioned that the release process is based on https://matplotlib.org/devdocs/devel/release_guide.html#all-releases

@takluyver
Copy link
Member Author

Also, how are the API docs (http://api.h5py.org/) updated? I've just noticed that they don't yet have the H5PL module added in 2.10?

@scopatz
Copy link
Member

scopatz commented Sep 10, 2019

but this doesn't (yet?) include building wheels, which is done from this repository for Linux & Mac, and by Christoph Gohlke for Windows.

We can and should add this to our rever configuration. It just wasn't fully clear to me how to do this. Is this commit basically all that needs to happen? (CC @tacaswell)

MacPython/h5py-wheels@48d6411

Also, how are the API docs (http://api.h5py.org/) updated? I've just noticed that they don't yet have the H5PL module added in 2.10?

Yeah, not sure about that either. If we know how I can add it to rever too.

@takluyver
Copy link
Member Author

Is this commit basically all that needs to happen?

I think in principle it's that, then wait for the wheels to be created, download them from http://wheels.scipy.org/ (or the https equivalent to be safe), and upload them to PyPI. Presumably with some changes to the MacPython repository, it could upload directly to PyPI - maybe using one of the new API tokens.

It looks like it needs other changes not infrequently, but if the build/upload fails we can always do those manually and get a wheel once it's fixed. It's only a problem if it succeeds in uploading a bad wheel.

@scopatz
Copy link
Member

scopatz commented Sep 10, 2019

OK! We can definitely have rever push a change into that repo, or open up a PR to it. Which do we want to happen?

@tacaswell
Copy link
Member

I vote for push directly (to a new branch named for the minor series). Either it builds or it doesn't!

If we are going to automate this with rever, I would prefer it pushes the commit and then downloads the built wheels to be pushed later. If you push the sdist and the wheels to pypi in one shot you avoid the windows where you get weird build issues.

I have asked Andrew about the API docs over email, I will dig that out...

Just to dump this someplace, the helper I use to collect the wheels (because I once missed a wheel doing it by clicking!):

from bs4 import BeautifulSoup
import requests

html_doc = requests.get('http://wheels.scipy.org')

soup = BeautifulSoup(html_doc.text, 'html.parser')

from pathlib import Path

url = 'http://wheels.scipy.org'
out_dir = Path('/tmp')

for link in soup.find_all('a'):
    if 'h5py' in link.get('href'):
        whl = link.get('href')
        _, ver, *_ = whl.split('-')
        if ver == '2.10.0':
            print(whl)
            with open(out_dir / whl, 'wb') as fout:
                r = requests.get(f'{url}/{whl}')
                fout.write(r.content)

@aragilar
Copy link
Member

While this isn't a good first issue, we should look at doing this as part of the sprint/3.0 release.

@aragilar aragilar added this to the 3.0 milestone Aug 2, 2020
@takluyver takluyver removed this from the 3.0 milestone Oct 30, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants