-
Notifications
You must be signed in to change notification settings - Fork 0
/
releasing
86 lines (66 loc) · 3.08 KB
/
releasing
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
==================
RELEASE PROCEDURES
==================
---------------------
master/source release
---------------------
in master,
* update 'version' in setup.py
* update CHANGES.txt
* `$ git commit -m "release ${version}" -- setup.py CHANGES.txt`
* `$ PYTHONPATH=. CQL_TEST_PORT=9160 nosetests` (make sure all pass)
* `$ python setup.py sdist`
* check that `dist/cql-${version}.tar.gz` has all expected files in the expected places
* test it
* REMOVE `dist/cql-${version}.tar.gz`; we're going to build it again for the upload and don't want confusion with multiple versions
* `$ python setup.py bdist`
* check that `dist/cql-${version}.${arch_triple}.tar.gz` has all expected files in the expected places
* REMOVE `dist/cql-${version}.${arch_triple}.tar.gz`
* `$ git tag ${version}`
------ POINT OF NO RETURN ------
* `$ git push origin master refs/tags/${version}`
* `$ python setup.py sdist upload -s`
* go to http://code.google.com/a/apache-extras.org/p/cassandra-dbapi2/downloads/list, choose "New download"
* Summary: "${version} release"
* Description: can leave blank
* File: dist/cql-${version}.tar.gz (make sure this is the same copy that pypi got)
* Labels: Type-Source, OpSys-All, Featured
* remove the "Featured" labels from any old releases, if appropriate
--------------
debian release
--------------
::
git checkout debian
git merge "tags/${version}" # merge changes from master into the debian branch
# fix merge conflicts if necessary
dch -v "${version}-1" # fill in appropriate changelog lines for new version
git commit -m "debian changelog ${version}-1" -- debian/changelog
git tag "debian/${version}-1"
git archive --format=tar --prefix="cassandra-dbapi2-${version}/" "refs/tags/${version}" | gzip -c -9 > "../python-cql_${version}.orig.tar.gz"
pristine-tar commit "../python-cql_${version}.orig.tar.gz" "refs/tags/${version}"
git-buildpackage -us -uc --git-dist=squeeze
sudo debi # test that package install, uninstall work right
dcmd scp ../python-cql_${version}-1_amd64.changes ${webserverhost}:
git push origin debian refs/tags/debian/${version}-1
--------------
redhat release
--------------
::
git checkout redhat
git merge "tags/${version}"
# fix merge conflicts if necessary
vi redhat/python26-cql.spec # change Version to $version, Release to 1
git commit -m "redhat spec ${version}-1" -- redhat/python26-cql.spec
git tag "redhat/${version}-1"
spectool -g -S -R redhat/python26-cql.spec
rpmbuild -ba redhat/python26-cql.spec
# test installing/upgrading/uninstalling new rpm at ~/rpmbuild/RPMS/noarch/python26-cql-${version}-1.noarch.rpm
scp $HOME/rpmbuild/RPMS/noarch/python26-cql-${version}-1.noarch.rpm ${webserverhost}:
git push origin redhat refs/tags/redhat/${version}-1
--------------------------------------------------------
updating bundled internal-only cql lib in cassandra tree
--------------------------------------------------------
::
python setup.py sdist --formats=zip
cp dist/"cql-${version}.zip" path/to/cassandra/lib/"cql-internal-only-${version}.zip"
remove old versions if appropriate