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

Commit 3608bae

Browse files
wip
1 parent 1ef9852 commit 3608bae

File tree

1 file changed

+61
-42
lines changed

1 file changed

+61
-42
lines changed

windows.md

Lines changed: 61 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,74 +1,82 @@
1+
# README for MS Windows Users
12

3+
## Preparing for Your First Release
24

3-
install Docker
5+
Install Docker
46

5-
ensure the following repositories are forked to your GitHub account
7+
Ensure the following repositories are forked to your GitHub account
68
- https://github.com/pandas-dev/pandas-website
79
- https://github.com/conda-forge/pandas-feedstock
810
- https://github.com/MacPython/pandas-wheels
911
- https://github.com/pandas-dev/pandas
1012

11-
1213
Open an Anaconda Prompt
14+
<!--
1315
TODO: resolve git bash Docker volume issues so that make can be used on host
16+
-->
1417

18+
Build a Docker image with the conda base environment configured and repositories initialized.
1519

16-
build a Docker image with the conda base environment configured and repositories initialized.
17-
18-
change GH_USERNAME to your Github username
20+
**change GH_USERNAME to your Github username**
1921

2022
```
2123
docker build -t pandas-release --build-arg GH_USERNAME=simonjayhawkins -f docker-files/windows/Dockerfile .
2224
```
2325

24-
next we will prepare a Docker container for interactive use during the release process and copy the repositories
26+
## Preparing the Release Environment for a New Release
27+
28+
Next we will prepare a Docker container for interactive use during the release process and copy the repositories
2529
from the Docker image into a Docker volume for building the distribution and testing.
2630

27-
to start with a clean volume (after a previous release)
31+
To start with a clean volume. (after a previous release)
2832

2933
```
3034
docker volume rm pandas-release
3135
```
3236

33-
change TAG to the release version
34-
37+
**change TAG to the release version**
3538
```
3639
docker run -it --env TAG=v1.0.5 --name=pandas-release -v pandas-release:/pandas-release pandas-release /bin/bash
3740
```
3841

39-
the Docker release container should be now be running
42+
The Docker release container should be now be running.
4043

41-
make sure the repos are up-to-date
44+
Make sure the repos are up-to-date
45+
<!--
4246
TODO: also make sure conda environment is up-to-date and pandas-release repo is up-to-date if
4347
re-using an older Docker image
44-
48+
-->
4549
```
4650
make update-repos
4751
```
4852

49-
Tag the release (This doesn't push the tag)
53+
Tag the release. (This doesn't push the tag)
5054

5155
```
5256
make tag
5357
```
5458

55-
stop the container
59+
Stop the container.
5660
```
5761
exit
5862
```
5963

60-
create the Docker image for the sdist build, pip test and conda test containers
61-
TODO: maybe update the image with apt-get for cached build
64+
## Preparing the Build and Test Environment
65+
6266

67+
Create the Docker image for the sdist build, pip test and conda test containers
68+
<!--
69+
TODO: maybe update the image with apt-get for cached build
70+
-->
6371
```
6472
docker build -t pandas-build .
6573
```
6674

67-
build the sdist
68-
75+
## Build the sdist
76+
<!--
6977
TODO: some of the next steps are repetative. set WORKDIR and symlink to /pandas in pandas-build Docker image instead
7078
TODO: add container name (as in Makefile) and do not destroy container on exit
71-
79+
-->
7280
```
7381
docker run -it --rm -v pandas-release:/pandas-release pandas-build /bin/bash
7482
@@ -81,10 +89,13 @@ cd pandas-release/
8189
exit
8290
```
8391

84-
pip tests
85-
92+
## Pip Tests
93+
<!--
8694
TODO: avoid need to pass explicit filename below
8795
TODO: add container name (as in Makefile) and do not destroy container on exit
96+
-->
97+
98+
**change filename to the release version**
8899

89100
```
90101
docker run -it --rm -v pandas-release:/pandas-release pandas-build /bin/bash
@@ -99,10 +110,12 @@ exit
99110
100111
```
101112

102-
conda tests
103-
113+
## Conda Tests
114+
<!--
104115
TODO: add container name (as in Makefile) and do not destroy container on exit
105116
TODO: avoid need to re-type version below
117+
-->
118+
**change PANDAS_VERSION to the release version**
106119

107120
```
108121
docker run -it --rm --env PANDAS_VERSION=1.0.5 -v pandas-release:/pandas-release pandas-build /bin/bash
@@ -117,35 +130,47 @@ exit
117130
118131
```
119132

120-
copy the sdist file from the Docker volume to the local host
133+
## Copy the sdist File from the Docker Volume to the Local Host.
134+
<!--
121135
TODO: avoid need to enter specific filename below (maybe just copy contents of dist directory instead)
136+
-->
137+
**change filename to the release version**
122138

123139
```
124140
docker run -t --rm -v %cd%:/local -v pandas-release:/pandas-release pandas-release /bin/bash -c "cp /pandas-release/pandas/dist/pandas-1.0.5.tar.gz /local/"
125141
```
126142

127-
Push the tag. No going back now.
143+
## Push the Tag.
128144

129-
restart the release container
145+
**No going back now.**
130146

147+
Restart the release container.
148+
<!--
149+
TODO: does this need to be in interactive mode
150+
-->
131151
```
132152
docker start pandas-release -i
133153
134-
...
154+
make push-tag
155+
```
156+
157+
## Create New Branch
158+
(not needed for Patch release)
135159

136160
On pandas you should also now create and tag a new branch, so
137161

138162
...
139-
```
163+
164+
## Create a Release
140165

141166
Now manually create a release https://github.com/pandas-dev/pandas/releases
142167

143168
Make sure to upload the sdist as the "binary". Conda-forge uses it.
144169

145170

146-
Start the binary builds.
171+
## Start the Binary Builds.
147172

148-
restart the release container
173+
Restart the release container.
149174

150175
```
151176
docker start pandas-release -i
@@ -162,17 +187,11 @@ Open PRs for each of those.
162187
Note that `make wheels` actually pushes a job to MacPython to produce wheels which we will download later.
163188

164189

165-
Docs. You can cheat and re-tag / rebuild these if needed.
166-
167-
<!-- doc:
168-
docker run -it \
169-
--name=pandas-docs \
170-
-v ${CURDIR}/pandas:/pandas \
171-
-v ${CURDIR}/scripts/build-docs.sh:/build-docs.sh \
172-
pandas-docs \
173-
/build-docs.sh -->
174-
190+
## Build the Docs.
191+
You can cheat and re-tag / rebuild these if needed.
192+
<!--
175193
TODO build an intermediate doc image (and why pandas conda env not in Docker image?)
194+
-->
176195
```
177196
docker run -it --name=pandas-docs -v pandas-release:/pandas-release pandas-docs /bin/bash
178197
@@ -192,7 +211,7 @@ conda env create --file=/pandas/environment.yml --name=pandas
192211
exit
193212
```
194213

195-
copy the built doc files to host and manually inspect html and pdf docs.
214+
Copy the built doc files to host and manually inspect html and pdf docs.
196215

197216
```
198217
docker run -it --rm -v %cd%:/local -v pandas-release:/pandas-release pandas-release /bin/bash -c "cp -r /pandas-release/pandas/doc/build/ /local/pandas-docs"

0 commit comments

Comments
 (0)