##// END OF EJS Templates
Merge pull request #11998 from Carreau/more-release-automation...
Matthias Bussonnier -
r25319:cc815a77 merge
parent child Browse files
Show More
@@ -1,156 +1,169 b''
1 1 # Simple tool to help for release
2 # when releasing with bash, simplei source it to get asked questions.
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: "$GREEN
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 echo "Cleaning repository"
85 85 git clean -xfdi
86 86
87 87 echo $GREEN"please update version number in ${RED}IPython/core/release.py${NOR} , Do not commit yet – we'll do it later."$NOR
88 88
89 89 echo $GREEN"Press enter to continue"$NOR
90 90 read
91 91
92 echo
93 echo "Attempting to build the docs.."
94 make html -C docs
92 if ask_section "Build the documentation ?"
93 then
94 make html -C docs
95 echo
96 echo $GREEN"Check the docs, press enter to continue"$NOR
97 read
95 98
96 echo
97 echo $GREEN"Check the docs, press enter to continue"$NOR
98 read
99 fi
99 100
100 101 echo
101 102 echo $BLUE"Attempting to build package..."$NOR
102 103
103 104 tools/build_release
105 rm dist/*
104 106
105 echo
106 echo "Let's commit : git commit -am \"release $VERSION\" -S"
107 echo $GREEN"Press enter to commit"$NOR
108 read
109 git commit -am "release $VERSION" -S
110
111 echo
112 echo $BLUE"git push origin \$BRANCH ($BRANCH)?"$NOR
113 echo $GREEN"Make sure you can push"$NOR
114 echo $GREEN"Press enter to continue"$NOR
115 read
116 git push origin $BRANCH
117
118 echo
119 echo "Let's tag : git tag -am \"release $VERSION\" \"$VERSION\" -s"
120 echo $GREEN"Press enter to tag commit"$NOR
121 read
122 git tag -am "release $VERSION" "$VERSION" -s
123
124 echo
125 echo $BLUE"And push the tag: git push origin \$VERSION ?"$NOR
126 echo $GREEN"Press enter to continue"$NOR
127 read
128 git push origin $VERSION
129
130
131 echo $GREEN"please update version number and back to .dev in ${RED}IPython/core/release.py"
132 echo ${BLUE}"Do not commit yet – we'll do it later."$NOR
133
134 echo $GREEN"Press enter to continue"$NOR
135 read
136
137 echo
138 echo "Let's commit : git commit -am \"back to dev\" -S"
139 echo $GREEN"Press enter to commit"$NOR
140 read
141 git commit -am "back to dev" -S
142
143
107 if ask_section "Should we commit, tag, push... etc ? "
108 then
109 echo
110 echo "Let's commit : git commit -am \"release $VERSION\" -S"
111 echo $GREEN"Press enter to commit"$NOR
112 read
113 git commit -am "release $VERSION" -S
114
115 echo
116 echo $BLUE"git push origin \$BRANCH ($BRANCH)?"$NOR
117 echo $GREEN"Make sure you can push"$NOR
118 echo $GREEN"Press enter to continue"$NOR
119 read
120 git push origin $BRANCH
121
122 echo
123 echo "Let's tag : git tag -am \"release $VERSION\" \"$VERSION\" -s"
124 echo $GREEN"Press enter to tag commit"$NOR
125 read
126 git tag -am "release $VERSION" "$VERSION" -s
127
128 echo
129 echo $BLUE"And push the tag: git push origin \$VERSION ?"$NOR
130 echo $GREEN"Press enter to continue"$NOR
131 read
132 git push origin $VERSION
133
134
135 echo $GREEN"please update version number and back to .dev in ${RED}IPython/core/release.py"
136 echo ${BLUE}"Do not commit yet – we'll do it later."$NOR
137
138 echo $GREEN"Press enter to continue"$NOR
139 read
140
141 echo
142 echo "Let's commit : git commit -am \"back to dev\" -S"
143 echo $GREEN"Press enter to commit"$NOR
144 read
145 git commit -am "back to dev" -S
146
147 echo
148 echo $BLUE"let's : git checkout $VERSION"$NOR
149 echo $GREEN"Press enter to continue"$NOR
150 read
151 git checkout $VERSION
152 fi
144 153
154 if ask_section "Should we build and release ?"
155 then
145 156
146 echo
147 echo $BLUE"let's : git checkout $VERSION"$NOR
148 echo $GREEN"Press enter to continue"$NOR
149 read
150 git checkout $VERSION
157 echo
158 echo $BLUE"Attempting to build package..."$NOR
151 159
152 # ./tools/release
153 # ls ./dist
154 # shasum -a 256 dist/*
160 tools/build_release
155 161
162 echo '$ shasum -a 256 dist/*'
163 shasum -a 256 dist/*
156 164
165 if ask_section "upload packages ?"
166 then
167 tools/build_release upload
168 fi
169 fi
General Comments 0
You need to be logged in to leave comments. Login now