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