@@ -3,10 +3,16 @@ Release automation for pandas.
3
3
## Steps to a release
4
4
5
5
- [ ] Manually update
6
- - [ ] ` PANDAS_VERSION ` in ` Makefile `
6
+ - [ ] ` TAG ` in ` Makefile `
7
7
- [ ] ` GH_USERNAME ` in ` Makefile `
8
- - [ ] ` version ` in ` recipe/meta.yaml `
9
8
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.
10
16
11
17
```
12
18
# Update repos
@@ -22,6 +28,7 @@ make docker-image docker-doc
22
28
make pandas/dist/<>.sdist
23
29
24
30
# Final Pip and Conda tests. Do these in parallel.
31
+ # You can optionally do make doc here as well
25
32
make pip-test
26
33
make conda-test
27
34
@@ -34,7 +41,18 @@ Now manually create a release https://github.com/pandas-dev/pandas/releases
34
41
Make sure to upload the sdist that's in ` pandas/dist/ ` as the "binary".
35
42
Conda-forge uses it.
36
43
37
- 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 `
38
56
39
57
```
40
58
# Binaries
@@ -44,14 +62,17 @@ make wheels
44
62
45
63
Open PRs for each of those.
46
64
65
+ Note that ` make wheels ` actually pushes a job to MacPython to produce wheels which we will download later.
66
+
47
67
Docs. You can cheat and re-tag / rebuild these if needed.
48
68
49
69
```
50
70
make doc
51
71
```
52
72
53
73
Once the binaries finish, you'll need to manually upload the
54
- 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.
55
76
56
77
57
78
```
@@ -71,12 +92,32 @@ Finalize the docs
71
92
```
72
93
make upload-doc
73
94
make website
74
- make push-website
75
95
```
76
96
77
- The website script is currenlty broken. You may need to manually
78
- 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
+ ```
79
119
120
+ Now check pandas.pydata.org and ensure the sidebar and links are correct!
80
121
81
122
goto announce.
82
123
0 commit comments