Skip to content
This repository was archived by the owner on Jun 12, 2023. It is now read-only.

Commit 962a1fd

Browse files
committed
Lessons learned
1 parent c308aa4 commit 962a1fd

File tree

2 files changed

+51
-11
lines changed

2 files changed

+51
-11
lines changed

Makefile

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
# TO EDIT
2-
TAG ?= v0.25.0rc0
3-
GH_USERNAME ?= TomAugspurger
4-
5-
PANDAS_VERSION=$(TAG:v%=%) # like 0.24.2
6-
PANDAS_BASE_VERSION=$(shell echo $(PANDAS_VERSION) | awk -F '.' '{OFS="."} { print $$1, $$2}') # like 0.24
2+
TAG ?= v0.25.0
3+
GH_USERNAME ?= WillAyd
4+
PANDAS_VERSION=$(TAG:v%=%)
5+
PANDAS_BASE_VERSION=$(shell echo $(PANDAS_VERSION) | awk -F '.' '{OFS="."} { print $$1, $$2}')
76
TARGZ=pandas-$(PANDAS_VERSION).tar.gz
87

98
# to ensure pushd and popd works
@@ -107,7 +106,6 @@ doc:
107106
upload-doc:
108107
rsync -rv -e ssh pandas/doc/build/html/ pandas.pydata.org:/usr/share/nginx/pandas/pandas-docs/version/$(PANDAS_VERSION)/
109108
rsync -rv -e ssh pandas/doc/build/latex/pandas.pdf pandas.pydata.org:/usr/share/nginx/pandas/pandas-docs/version/$(PANDAS_VERSION)/pandas.pdf
110-
sudo chgrp -R docs /usr/share/nginx/pandas/pandas-docs
111109

112110
link-stable:
113111
ssh pandas.pydata.org "cd /usr/share/nginx/pandas/pandas-docs && ln -sfn version/$(PANDAS_VERSION) stable"

README.md

Lines changed: 47 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,13 @@ Release automation for pandas.
66
- [ ] `TAG` in `Makefile`
77
- [ ] `GH_USERNAME` in `Makefile`
88

9+
If running for the first time be sure to initialize repos
10+
11+
```sh
12+
make init-repos
13+
```
14+
15+
And fork pandas-feedstock and pandas-wheels to your GitHub account.
916

1017
```
1118
# Update repos
@@ -21,6 +28,7 @@ make docker-image docker-doc
2128
make pandas/dist/<>.sdist
2229
2330
# Final Pip and Conda tests. Do these in parallel.
31+
# You can optionally do make doc here as well
2432
make pip-test
2533
make conda-test
2634
@@ -33,7 +41,18 @@ Now manually create a release https://github.com/pandas-dev/pandas/releases
3341
Make sure to upload the sdist that's in `pandas/dist/` as the "binary".
3442
Conda-forge uses it.
3543

36-
Start the binary builds
44+
On pandas you should also now create and tag a new branch, so
45+
46+
```sh
47+
git checkout -b <TAG>.x
48+
git push upstream <TAG>.x
49+
git checkout master
50+
git commit --allow-empty -m "Start <NEXT_TAG>"
51+
git tag -a v<NEXT_TAG>.dev0 -m 'DEV: Start <NEXT_TAG> cycle'
52+
git push upstream master --follow-tags
53+
```
54+
55+
Start the binary builds. **For Mac users** you may need to download the GNU version of sed before running this scripts via `brew install gnu-sed`
3756

3857
```
3958
# Binaries
@@ -43,14 +62,17 @@ make wheels
4362

4463
Open PRs for each of those.
4564

65+
Note that `make wheels` actually pushes a job to MacPython to produce wheels which we will download later.
66+
4667
Docs. You can cheat and re-tag / rebuild these if needed.
4768

4869
```
4970
make doc
5071
```
5172

5273
Once the binaries finish, you'll need to manually upload the
53-
wheels to PyPI
74+
wheels to PyPI. Assuming the job which `make wheels` triggered on MacPython completed successfully (you may want to double check this)
75+
you can download a copy of the wheels for Mac / Linux locally.
5476

5577

5678
```
@@ -70,12 +92,32 @@ Finalize the docs
7092
```
7193
make upload-doc
7294
make website
73-
make push-website
7495
```
7596

76-
The website script is currenlty broken. You may need to manually
77-
add the next (dev) release, and remove any pre-releases.
97+
You also need to make edits to the pandas-website to appropriately display items.
98+
Ideally this could be done via `make push-website` as the rule exists but the
99+
intermediary steps aren't fully automated yet.
100+
101+
```sh
102+
pushd pandas-website
103+
mv latest.rst previous.rst
104+
# Recreate latest.rst to match release notes from GH in earlier steps
105+
# Update pre_release.json and releases.json
106+
git commit -am "Your updates"
107+
git push
108+
make html
109+
make upload
110+
```
111+
112+
To make sure /stable and the latest minor revision point to the new release run the following from root
113+
114+
```sh
115+
popd # should bring us back to root from pandas-website
116+
make link-stable
117+
make link-version
118+
```
78119

120+
Now check pandas.pydata.org and ensure the sidebar and links are correct!
79121

80122
goto announce.
81123

0 commit comments

Comments
 (0)