1
1
2
2
3
- install docker
3
+ install Docker
4
+
4
5
ensure the following repositories are forked to your GitHub account
5
6
- https://github.com/pandas-dev/pandas-website
6
7
- https://github.com/conda-forge/pandas-feedstock
7
8
- https://github.com/MacPython/pandas-wheels
8
9
- https://github.com/pandas-dev/pandas
9
10
10
11
11
- build a docker image with the conda base environment configured and repositories initialized.
12
+ Open an Anaconda Prompt
13
+ TODO: resolve git bash Docker volume issues so that make can be used on host
14
+
15
+
16
+ build a Docker image with the conda base environment configured and repositories initialized.
12
17
13
18
change GH_USERNAME to your Github username
14
19
15
20
```
16
21
docker build -t pandas-release --build-arg GH_USERNAME=simonjayhawkins -f docker-files/windows/Dockerfile .
17
22
```
18
23
19
- next we will prepare a container for interactive use during the release process and copy the repositories
20
- into a shared volume for building the distribution and testing.
24
+ next we will prepare a Docker container for interactive use during the release process and copy the repositories
25
+ from the Docker image into a Docker volume for building the distribution and testing.
26
+
27
+ to start with a clean volume (after a previous release)
28
+
29
+ ```
30
+ docker volume rm pandas-release
31
+ ```
21
32
22
33
change TAG to the release version
23
34
24
35
```
25
36
docker run -it --env TAG=v1.0.5 --name=pandas-release -v pandas-release:/pandas-release pandas-release /bin/bash
26
37
```
27
38
28
- the docker container should be now be running
39
+ the Docker release container should be now be running
29
40
30
41
make sure the repos are up-to-date
31
42
TODO: also make sure conda environment is up-to-date and pandas-release repo is up-to-date if
32
- re-using an older Docker image (maybe need another script in Makefile)
33
- NOTE: safer to build new image if not on metered or slow internet connection.
43
+ re-using an older Docker image
34
44
35
45
```
36
46
make update-repos
@@ -47,14 +57,18 @@ stop the container
47
57
exit
48
58
```
49
59
50
- create the build container
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
51
62
52
63
```
53
64
docker build -t pandas-build .
54
65
```
55
66
56
67
build the sdist
57
68
69
+ TODO: some of the next steps are repetative. set WORKDIR and symlink to /pandas in pandas-build Docker image instead
70
+ TODO: add container name (as in Makefile) and do not destroy container on exit
71
+
58
72
```
59
73
docker run -it --rm -v pandas-release:/pandas-release pandas-build /bin/bash
60
74
69
83
70
84
pip tests
71
85
86
+ TODO: avoid need to pass explicit filename below
87
+ TODO: add container name (as in Makefile) and do not destroy container on exit
88
+
72
89
```
73
90
docker run -it --rm -v pandas-release:/pandas-release pandas-build /bin/bash
74
91
84
101
85
102
conda tests
86
103
104
+ TODO: add container name (as in Makefile) and do not destroy container on exit
105
+ TODO: avoid need to re-type version below
106
+
87
107
```
88
108
docker run -it --rm --env PANDAS_VERSION=1.0.5 -v pandas-release:/pandas-release pandas-build /bin/bash
89
109
@@ -97,10 +117,11 @@ exit
97
117
98
118
```
99
119
100
- copy the sdist file to the local host
120
+ copy the sdist file from the Docker volume to the local host
121
+ TODO: avoid need to enter specific filename below (maybe just copy contents of dist directory instead)
101
122
102
123
```
103
- docker run -it --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/"
124
+ 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/"
104
125
```
105
126
106
127
Push the tag. No going back now.
@@ -151,7 +172,7 @@ Docs. You can cheat and re-tag / rebuild these if needed.
151
172
pandas-docs \
152
173
/build-docs.sh -->
153
174
154
- TODO build an intermediate doc image (and why pandas conda env not in docker image?)
175
+ TODO build an intermediate doc image (and why pandas conda env not in Docker image?)
155
176
```
156
177
docker run -it --name=pandas-docs -v pandas-release:/pandas-release pandas-docs /bin/bash
157
178
0 commit comments