Browse code

add RELEASE_INSTRUCTIONS based on mludvig's notes

Matt Domsch authored on 2015/01/13 06:59:15
Showing 1 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,65 @@
0
+Instructions for s3cmd maintainers for doing a tagged release and publishing on sourceforge.net.
1
+In the below, 1.5.0-rc1 is the example version being released.  Salt to taste.
2
+
3
+1.  Make a fresh clone of the repo:
4
+   git clone ssh+git://git@github.com/s3tools/s3cmd s3cmd-release
5
+
6
+2.  Run ./run-tests.py to verify it all works OK.
7
+
8
+3.  Update version to 1.5.0-rc1 in S3/PkgInfo.py
9
+
10
+4.  Update manpage with ./s3cmd --help | ./format-manpage.pl > s3cmd.1
11
+
12
+5.  Update NEWS with info about new features. Best to extract from git
13
+    with:  git log --no-merges v1.5.0-beta1..
14
+    (list all tags with: "git tag")
15
+
16
+
17
+6.  Verify the above changes:
18
+    git diff --check && git diff
19
+    git status
20
+    (The only changed files should be NEWS, s3cmd.1, S3/PkgInfo.py)
21
+
22
+7.  Remove testsuite (intentionally inaccessible files break the next
23
+    step):
24
+    chmod -R +rwx testsuite/permission-tests/permission-denied-dir && rm -rf testsuite
25
+
26
+8.  Build the "Source Distribution":
27
+    python setup.py sdist
28
+    -> Creates dist/s3cmd-1.5.0-rc1.tar.gz and dist/s3cmd-1.5.0-rc1.zip
29
+
30
+9.  If everything worked fine commit the above changes:
31
+    git commit -a -m "Update version to 1.5.0-rc1"
32
+
33
+10. Tag it:
34
+    git tag --sign -a v1.5.0-rc1 -m "Tag v1.5.0-rc1"
35
+
36
+11. Push back to github:
37
+    git push
38
+
39
+
40
+That's it for building the release. Now upload it to SourceForge:
41
+
42
+1.  Login to sf.net
43
+
44
+2.  Go to https://sourceforge.net/p/s3tools/admin/
45
+
46
+3.  Files -> s3cmd -> Add Folder -> Enter "1.5.0-rc1" -> Create
47
+
48
+4.  Go into 1.5.0-rc1 -> Add File -> upload dist/s3cmd-1.5.0-rc1.tar.gz
49
+
50
+5.  Once uploaded click the little "i" icon on the right and click
51
+    "Select all" under "Default Download For:" to update the default
52
+    download button to this new version.
53
+
54
+6.  Give it a few minutes and verify on the Summary page that the
55
+    download button has been updated to s3cmd-1.5.0-rc1.tar.gz
56
+
57
+Now it's time to send out an announcement email to
58
+s3cmd-announce@lists.sourceforge.net and
59
+s3cmd-general@lists.sourceforge.net (check out the s3cmd-announce
60
+archive for an inspiration :)
61
+
62
+And the last step is to ask the respective distribution maintainers
63
+(Fedora, Debian, Ubuntu, OpenSuse, ...?) to update the package in
64
+their builds.