...
|
...
|
@@ -1,20 +1,22 @@
|
1
|
1
|
Instructions for s3cmd maintainers for doing a tagged release and publishing on sourceforge.net.
|
2
|
|
-In the below, 1.5.0-rc1 is the example version being released. Salt to taste.
|
|
2
|
+In the below, 2.1.0 is the example version being released. Salt to taste.
|
|
3
|
+
|
|
4
|
+Dependency that could be needed for the release:
|
|
5
|
+ pip install --user twine
|
3
|
6
|
|
4
|
7
|
1. Make a fresh clone of the repo:
|
5
|
|
- git clone ssh+git://git@github.com/s3tools/s3cmd s3cmd-release
|
|
8
|
+ git clone ssh+git://git@github.com/s3tools/s3cmd s3cmd-release
|
6
|
9
|
|
7
|
10
|
2. Run ./run-tests.py to verify it all works OK.
|
8
|
11
|
|
9
|
|
-3. Update version to 1.5.0-rc1 in S3/PkgInfo.py
|
|
12
|
+3. Update version to 2.1.0 in S3/PkgInfo.py
|
10
|
13
|
|
11
|
14
|
4. Update manpage with ./s3cmd --help | ./format-manpage.pl > s3cmd.1
|
12
|
15
|
|
13
|
|
-5. Update NEWS with info about new features. Best to extract from git
|
14
|
|
- with: git log --no-merges v1.5.0-beta1..
|
|
16
|
+5. Update NEWS with info about new features. Best to extract from git with:
|
|
17
|
+ git log --abbrev-commit --no-merges v2.0.2..
|
15
|
18
|
(list all tags with: "git tag")
|
16
|
19
|
|
17
|
|
-
|
18
|
20
|
6. Verify the above changes:
|
19
|
21
|
git diff --check && git diff
|
20
|
22
|
git status
|
...
|
...
|
@@ -25,21 +27,28 @@ In the below, 1.5.0-rc1 is the example version being released. Salt to taste.
|
25
|
25
|
chmod -R +rwx testsuite/permission-tests/permission-denied-dir && rm -rf testsuite
|
26
|
26
|
|
27
|
27
|
8. If everything worked fine commit the above changes:
|
28
|
|
- git commit -a -m "Update version to 1.5.0-rc1"
|
|
28
|
+ git commit -a -m "Update version to 2.1.0"
|
29
|
29
|
|
30
|
|
-9. Tag it:
|
31
|
|
- git tag --sign -a v1.5.0-rc1 -m "Tag v1.5.0-rc1"
|
|
30
|
+9. Tag it:
|
|
31
|
+ git tag --sign -a v2.1.0 -m "Tag v2.1.0"
|
32
|
32
|
|
33
|
33
|
10. Push back to github:
|
34
|
34
|
git push --tags
|
35
|
35
|
|
36
|
|
-11. Build the "Source Distribution":
|
37
|
|
- python setup.py sdist upload --sign
|
38
|
|
- -> Creates dist/s3cmd-1.5.0-rc1.tar.gz* and dist/s3cmd-1.5.0-rc1.zip*
|
|
36
|
+11. Build the "Source Distribution" and the universal "Wheel" package:
|
|
37
|
+ python setup.py sdist bdist_wheel --universal
|
|
38
|
+ -> Creates dist/s3cmd-2.1.0.tar.gz , dist/s3cmd-2.1.0.zip and dist/s3cmd-2.1.0-py2.py3-none-any.whl
|
|
39
|
+
|
|
40
|
+12. Generate the GPG signatures for the previously generated artefacts
|
|
41
|
+ gpg2 --default-key XXXX --detach-sign -a dist/s3cmd-2.1.0.tar.gz
|
|
42
|
+ gpg2 --default-key XXXX --detach-sign -a dist/s3cmd-2.1.0.zip
|
|
43
|
+ gpg2 --default-key XXXX --detach-sign -a dist/s3cmd-2.1.0-py2.py3-none-any.whl
|
|
44
|
+
|
|
45
|
+13. Publish to PyPi, so 'pip install s3cmd' downloads the new version.
|
|
46
|
+ twine upload dist/s3cmd-2.1.0.tar.gz* dist/s3cmd-2.1.0-py2.py3-none-any.whl*
|
39
|
47
|
|
40
|
|
-The upload step publishes it to PyPi, so 'pip install s3cmd' downloads
|
41
|
|
-the new version. It also generated the GPG signatures, so you don't
|
42
|
|
-have to do that manually, and have them available for the next steps.
|
|
48
|
+Note: we only publish the .tar.gz and the .whl (+.asc signatures) to Pypi, and
|
|
49
|
+not the .zip as Pypi only accepts a single "sdist" source file for a given version.
|
43
|
50
|
|
44
|
51
|
|
45
|
52
|
GitHub releases
|
...
|
...
|
@@ -51,7 +60,7 @@ GitHub releases
|
51
|
51
|
|
52
|
52
|
3. In the 'Tag version' drop-down, select your new tag.
|
53
|
53
|
|
54
|
|
-4. In the 'Release title' field, name it v1.5.0-rc1.
|
|
54
|
+4. In the 'Release title' field, name it v2.1.0.
|
55
|
55
|
|
56
|
56
|
5. In the 'Describe this release' text box, add in this release's
|
57
|
57
|
notes from the NEWS file.
|
...
|
...
|
@@ -68,16 +77,16 @@ SourceForge releases
|
68
|
68
|
|
69
|
69
|
2. Go to https://sourceforge.net/p/s3tools/admin/
|
70
|
70
|
|
71
|
|
-3. Files -> s3cmd -> Add Folder -> Enter "1.5.0-rc1" -> Create
|
|
71
|
+3. Files -> s3cmd -> Add Folder -> Enter "2.1.0" -> Create
|
72
|
72
|
|
73
|
|
-4. Go into 1.5.0-rc1 -> Add File -> upload dist/s3cmd-1.5.0-rc1.tar.gz
|
|
73
|
+4. Go into 2.1.0 -> Add File -> upload dist/s3cmd-2.1.0.tar.gz
|
74
|
74
|
|
75
|
75
|
5. Once uploaded click the little "i" icon on the right and click
|
76
|
76
|
"Select all" under "Default Download For:" to update the default
|
77
|
77
|
download button to this new version.
|
78
|
78
|
|
79
|
79
|
6. Give it a few minutes and verify on the Summary page that the
|
80
|
|
- download button has been updated to s3cmd-1.5.0-rc1.tar.gz
|
|
80
|
+ download button has been updated to s3cmd-2.1.0.tar.gz
|
81
|
81
|
|
82
|
82
|
Now it's time to send out an announcement email to
|
83
|
83
|
s3tools-announce@lists.sourceforge.net and
|