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

Commit 0de59e3

Browse files
committed
add release procedure
1 parent 766fd9e commit 0de59e3

1 file changed

Lines changed: 94 additions & 0 deletions

File tree

PMC.md

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
<!--
2+
Licensed to the Apache Software Foundation (ASF) under one or more
3+
contributor license agreements. See the NOTICE file distributed with
4+
this work for additional information regarding copyright ownership.
5+
The ASF licenses this file to You under the Apache License, Version 2.0
6+
(the "License"); you may not use this file except in compliance with
7+
the License. You may obtain a copy of the License at
8+
9+
http://www.apache.org/licenses/LICENSE-2.0
10+
11+
Unless required by applicable law or agreed to in writing, software
12+
distributed under the License is distributed on an "AS IS" BASIS,
13+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
See the License for the specific language governing permissions and
15+
limitations under the License.
16+
-->
17+
18+
# Project Management Committee Documentation
19+
20+
## Release Procedure
21+
22+
1. Generate code signing key if you do not already have one for Apache. Refer to
23+
http://apache.org/dev/openpgp.html#generate-key on how to generate a strong code
24+
signing key.
25+
2. Add your public key to the `KEYS` file at the root of the source code tree.
26+
3. Create a new release branch, with version bumped to the next release version.
27+
1. `git checkout -b release/0.9.9`
28+
2. Replace all `0.9.9.dev0` in the code tree to `0.9.9`.
29+
3. `git commit -am "Prepare 0.9.9rc1"`
30+
4. `git tag -am "Apache PredictionIO Python SDK 0.9.9rc1" v0.9.9rc1`
31+
4. Package a binary/source files.
32+
1. `python setup.py sdist bdist_wheel`
33+
5. Generate MD5 and SHA512 checksums for the release candidates in dist directory.
34+
1. `gpg --print-md MD5 PredictionIO-0.9.9-py3-none-any.whl >
35+
PredictionIO-0.9.9-py3-none-any.whl.md5`
36+
2. `gpg --print-md SHA512 PredictionIO-0.9.9-py3-none-any.whl >
37+
PredictionIO-0.9.9-py3-none-any.whl.sha512`
38+
3. `gpg --print-md MD5 PredictionIO-0.9.9.tar.gz >
39+
PredictionIO-0.9.9.tar.gz.md5`
40+
4. `gpg --print-md SHA512 PredictionIO-0.9.9.tar.gz >
41+
PredictionIO-0.9.9.tar.gz.sha512`
42+
6. Generate detached signature for the release candidate.
43+
(http://apache.org/dev/release-signing.html#openpgp-ascii-detach-sig)
44+
1. `gpg --armor --output PredictionIO-0.9.9-py3-none-any.whl.asc
45+
--detach-sig PredictionIO-0.9.9-py3-none-any.whl`
46+
2. `gpg --armor --output PredictionIO-0.9.9.tar.gz.asc
47+
--detach-sig PredictionIO-0.9.9.tar.gz`
48+
7. If you have not done so, use SVN to checkout
49+
https://dist.apache.org/repos/dist/dev/incubator/predictionio/sdk-python.
50+
This is the area for staging release candidates for voting.
51+
1. `svn co https://dist.apache.org/repos/dist/dev/incubator/predictionio/sdk-python`
52+
8. Create a subdirectory at the SVN staging area. The area should have a `KEYS` file.
53+
1. `mkdir 0.9.9rc1`
54+
2. `cp PredictionIO-0.9.9* 0.9.9rc1`
55+
9. If you have updated the `KEYS` file, also copy that to the staging area.
56+
10. `svn commit`
57+
13. Wait for Travis to pass build on the release branch.
58+
14. Tag the release branch with a rc tag, e.g. `0.9.9rc1`.
59+
15. Send out e-mail for voting on PredictionIO dev mailing list.
60+
61+
```
62+
Subject: [VOTE] Apache PredictionIO SDK Python 0.9.9 Release (RC1)
63+
64+
This is the vote for 0.9.9 of Apache PredictionIO.
65+
66+
The vote will run for at least 72 hours and will close on Apr 7th, 2017.
67+
68+
The release candidate artifacts can be downloaded here:
69+
https://dist.apache.org/repos/dist/dev/incubator/predictionio/sdk-python/0.9.9rc1/
70+
71+
Test results can be found here:
72+
https://travis-ci.org/apache/incubator-predictionio-sdk-python/builds/XXXXXX
73+
74+
To install this python module:
75+
$ pip install PredictionIO-0.9.9.tar.gz
76+
or
77+
$ pip3 install PredictionIO-0.9.9-py3-none-any.whl
78+
79+
The artifacts have been signed with Key : YOUR_KEY_ID
80+
81+
Please vote accordingly:
82+
83+
[ ] +1, accept RC as the official 0.9.9 release
84+
[ ] 0, neutral because...
85+
[ ] -1, do not accept RC as the official 0.9.9 release because...
86+
```
87+
16. Publish files to PyPI if the vote is passed.
88+
1. `twine upload dist/PredictionIO-0.9.9.tar.gz dist/PredictionIO-0.9.9.tar.gz.asc \
89+
dist/PredictionIO-0.9.9-py3-none-any.whl dist/PredictionIO-0.9.9-py3-none-any.whl.asc`
90+
17. Create release tag
91+
1. `git tag -am "Apache PredictionIO Python SDK 0.9.9" v0.9.9`
92+
18. Merge release/0.9.9 into master and develop branch
93+
19. Bump up version in setup.py on develop branch
94+

0 commit comments

Comments
 (0)