##// END OF EJS Templates
try to auto comment ''/.dev
Matthias Bussonnier -
Show More
@@ -1,214 +1,224 b''
1 1 # Simple tool to help for release
2 2 # when releasing with bash, simple source it to get asked questions.
3 3
4 4 # misc check before starting
5 5
6 6 python -c 'import keyring'
7 7 python -c 'import twine'
8 8 python -c 'import sphinx'
9 9 python -c 'import sphinx_rtd_theme'
10 10 python -c 'import nose'
11 11
12 12
13 13 BLACK=$(tput setaf 1)
14 14 RED=$(tput setaf 1)
15 15 GREEN=$(tput setaf 2)
16 16 YELLOW=$(tput setaf 3)
17 17 BLUE=$(tput setaf 4)
18 18 MAGENTA=$(tput setaf 5)
19 19 CYAN=$(tput setaf 6)
20 20 WHITE=$(tput setaf 7)
21 21 NOR=$(tput sgr0)
22 22
23 23
24 24 echo -n "PREV_RELEASE (X.y.z) [$PREV_RELEASE]: "
25 25 read input
26 26 PREV_RELEASE=${input:-$PREV_RELEASE}
27 27 echo -n "MILESTONE (X.y) [$MILESTONE]: "
28 28 read input
29 29 MILESTONE=${input:-$MILESTONE}
30 30 echo -n "VERSION (X.y.z) [$VERSION]:"
31 31 read input
32 32 VERSION=${input:-$VERSION}
33 33 echo -n "BRANCH (master|X.y) [$BRANCH]:"
34 34 read input
35 35 BRANCH=${input:-$BRANCH}
36 36
37 37 ask_section(){
38 38 echo
39 39 echo $BLUE"$1"$NOR
40 40 echo -n $GREEN"Press Enter to continue, S to skip: "$NOR
41 41 read -n1 value
42 42 echo
43 43 if [ -z $value ] || [ $value = 'y' ] ; then
44 44 return 0
45 45 fi
46 46 return 1
47 47 }
48 48
49 49
50 50
51 51 echo
52 52 if ask_section "Updating what's new with informations from docs/source/whatsnew/pr"
53 53 then
54 54 python tools/update_whatsnew.py
55 55
56 56 echo
57 57 echo $BLUE"please move the contents of "docs/source/whatsnew/development.rst" to version-X.rst"$NOR
58 58 echo $GREEN"Press enter to continue"$NOR
59 59 read
60 60 fi
61 61
62 62 if ask_section "Gen Stats, and authors"
63 63 then
64 64
65 65 echo
66 66 echo $BLUE"here are all the authors that contributed to this release:"$NOR
67 67 git log --format="%aN <%aE>" $PREV_RELEASE... | sort -u -f
68 68
69 69 echo
70 70 echo $BLUE"If you see any duplicates cancel (Ctrl-C), then edit .mailmap."
71 71 echo $GREEN"Press enter to continue:"$NOR
72 72 read
73 73
74 74 echo $BLUE"generating stats"$NOR
75 75 python tools/github_stats.py --milestone $MILESTONE > stats.rst
76 76
77 77 echo $BLUE"stats.rst files generated."$NOR
78 78 echo $GREEN"Please merge it with the right file (github-stats-X.rst) and commit."$NOR
79 79 echo $GREEN"press enter to continue."$NOR
80 80 read
81 81
82 82 fi
83 83
84 84 if ask_section "Generate API difference (using frapuccino)"
85 85 then
86 86 echo $BLUE"Checking out $PREV_RELEASE"$NOR
87 87 git checkout $PREV_RELEASE
88 88 echo $BLUE"Saving API to file $PREV_RELEASE"$NOR
89 89 frappuccino IPython --save IPython-$PREV_RELEASE.json
90 90 echo $BLUE"comming back to $BRANCH"$NOR
91 91 git checkout $BRANCH
92 92 echo $BLUE"comparing ..."$NOR
93 93 frappuccino IPython --compare IPython-$PREV_RELEASE.json
94 94 echo $GREEN"Use the above guideline to write an API changelog ..."$NOR
95 95 echo $GREEN"Press any keys to continue"$NOR
96 96 read
97 97 fi
98 98
99 99 echo "Cleaning repository"
100 100 git clean -xfdi
101 101
102 102 echo $GREEN"please update version number in ${RED}IPython/core/release.py${NOR} , Do not commit yet – we'll do it later."$NOR
103 echo $GREEN"I tried ${RED}sed -i bkp -e '/Uncomment/s/^# //g' IPython/core/release.py${NOR}"
104 sed -i bkp -e '/Uncomment/s/^# //g' IPython/core/release.py
105 rm IPython/core/release.pybkp
106 git diff
103 107
104 108 echo $GREEN"Press enter to continue"$NOR
105 109 read
106 110
107 111 if ask_section "Build the documentation ?"
108 112 then
109 113 make html -C docs
110 114 echo
111 115 echo $GREEN"Check the docs, press enter to continue"$NOR
112 116 read
113 117
114 118 fi
115 119
116 120 if ask_section "Should we commit, tag, push... etc ? "
117 121 then
118 122 echo
119 123 echo $BLUE"Let's commit : git commit -am \"release $VERSION\" -S"
120 124 echo $GREEN"Press enter to commit"$NOR
121 125 read
122 126 git commit -am "release $VERSION" -S
123 127
124 128 echo
125 129 echo $BLUE"git push origin \$BRANCH ($BRANCH)?"$NOR
126 130 echo $GREEN"Make sure you can push"$NOR
127 131 echo $GREEN"Press enter to continue"$NOR
128 132 read
129 133 git push origin $BRANCH
130 134
131 135 echo
132 136 echo "Let's tag : git tag -am \"release $VERSION\" \"$VERSION\" -s"
133 137 echo $GREEN"Press enter to tag commit"$NOR
134 138 read
135 139 git tag -am "release $VERSION" "$VERSION" -s
136 140
137 141 echo
138 142 echo $BLUE"And push the tag: git push origin \$VERSION ?"$NOR
139 143 echo $GREEN"Press enter to continue"$NOR
140 144 read
141 145 git push origin $VERSION
142 146
143 147
144 148 echo $GREEN"please update version number and back to .dev in ${RED}IPython/core/release.py"
149 echo $GREEN"I tried ${RED}sed -i bkp -e '/Uncomment/s/^/# /g' IPython/core/release.py${NOR}"
150 sed -i bkp -e '/Uncomment/s/^/# /g' IPython/core/release.py
151 rm IPython/core/release.pybkp
152 git diff
153 echo $GREEN"Please bump ${RED}the minor version number${NOR}"
145 154 echo ${BLUE}"Do not commit yet – we'll do it later."$NOR
155
146 156
147 157 echo $GREEN"Press enter to continue"$NOR
148 158 read
149 159
150 160 echo
151 161 echo "Let's commit : "$BLUE"git commit -am \"back to dev\""$NOR
152 162 echo $GREEN"Press enter to commit"$NOR
153 163 read
154 164 git commit -am "back to dev"
155 165
156 166 echo
157 167 echo $BLUE"git push origin \$BRANCH ($BRANCH)?"$NOR
158 168 echo $GREEN"Press enter to continue"$NOR
159 169 read
160 170 git push origin $BRANCH
161 171
162 172
163 173 echo
164 174 echo $BLUE"let's : git checkout $VERSION"$NOR
165 175 echo $GREEN"Press enter to continue"$NOR
166 176 read
167 177 git checkout $VERSION
168 178 fi
169 179
170 180 if ask_section "Should we build and release ?"
171 181 then
172 182
173 183 echo $BLUE"going to set SOURCE_DATE_EPOCH"$NOR
174 184 echo $BLUE'export SOURCE_DATE_EPOCH=$(git show -s --format=%ct HEAD)'$NOR
175 185 echo $GREEN"Press enter to continue"$NOR
176 186 read
177 187
178 188 export SOURCE_DATE_EPOCH=$(git show -s --format=%ct HEAD)
179 189
180 190 echo $BLUE"SOURCE_DATE_EPOCH set to $SOURCE_DATE_EPOCH"$NOR
181 191 echo $GREEN"Press enter to continue"$NOR
182 192 read
183 193
184 194
185 195
186 196 echo
187 197 echo $BLUE"Attempting to build package..."$NOR
188 198
189 199 tools/release
190 200
191 201
192 202 echo $RED'$ shasum -a 256 dist/*'
193 203 shasum -a 256 dist/*
194 204 echo $NOR
195 205
196 206 echo $BLUE"We are going to rebuild, node the hash above, and compare them to the rebuild"$NOR
197 207 echo $GREEN"Press enter to continue"$NOR
198 208 read
199 209
200 210 echo
201 211 echo $BLUE"Attempting to build package..."$NOR
202 212
203 213 tools/release
204 214
205 215 echo $RED"Check the shasum for SOURCE_DATE_EPOCH=$SOURCE_DATE_EPOCH"
206 216 echo $RED'$ shasum -a 256 dist/*'
207 217 shasum -a 256 dist/*
208 218 echo $NOR
209 219
210 220 if ask_section "upload packages ?"
211 221 then
212 222 tools/release upload
213 223 fi
214 224 fi
General Comments 0
You need to be logged in to leave comments. Login now