From ba0aeeb33188a03e4f3b796ef4b3403506f7cb0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antoine=20Beaupr=C3=A9?= Date: Wed, 7 Oct 2015 09:28:41 -0400 Subject: [PATCH 01/10] some fixes to the release engineering docs link to the locations of different tools when I know them. i marked the ones I don't know about specially so we can document those as well. point to the Github releases for the standalone binaries upload --- docs/development.rst | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/docs/development.rst b/docs/development.rst index 9b4c0d893..493998ea3 100644 --- a/docs/development.rst +++ b/docs/development.rst @@ -100,26 +100,27 @@ Checklist:: - any low hanging fruit left on the issue tracker? - run tox on all supported platforms via vagrant, check for test fails. - is Travis CI happy also? -- update CHANGES.rst (compare to git log). check version number of upcoming release. +- update CHANGES.rst (compare to git log) +- check version number of upcoming release - check MANIFEST.in and setup.py - are they complete? - tag the release:: git tag -s -m "tagged release" 0.26.0 - cd docs ; make html # to update the usage include files -- update website with the html +- update website with the html (XXX: how?) - create a release on PyPi:: python setup.py register sdist upload --identity="Thomas Waldmann" --sign -- close release milestone. +- close release milestone - announce on:: - - mailing list - - Twitter - - IRC channel (topic) + - `mailing list `_ + - Twitter (XXX: how? where?) + - `IRC channel `_ (change ``/topic`` -- create standalone binaries and link them from issue tracker: https://github.com/borgbackup/borg/issues/214 +- create standalone binaries and upload them to the Github release Creating standalone binaries From 2259bc050cbfddea8b4692eec1c700ea60355aed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antoine=20Beaupr=C3=A9?= Date: Wed, 7 Oct 2015 09:37:59 -0400 Subject: [PATCH 02/10] more reshuffling of release docs mention that binaries should be signed clarify where release milestones reword all steps to be executive --- docs/development.rst | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/docs/development.rst b/docs/development.rst index 493998ea3..fda1bf36e 100644 --- a/docs/development.rst +++ b/docs/development.rst @@ -96,31 +96,35 @@ Creating a new release Checklist:: -- all issues for this milestone closed? -- any low hanging fruit left on the issue tracker? -- run tox on all supported platforms via vagrant, check for test fails. -- is Travis CI happy also? -- update CHANGES.rst (compare to git log) -- check version number of upcoming release -- check MANIFEST.in and setup.py - are they complete? +- make sure all issues for this milestone are closed or moved them to + the next milestone +- look and fix any low hanging fruit left on the issue tracker +- run tox on all supported platforms via vagrant, check for test failures +- check that Travis CI is also happy +- update ``CHANGES.rst``, based on ``git log $PREVIOUS_RELEASE..`` +- check version number of upcoming release in ``CHANGES.rst`` +- verify that ``MANIFEST.in`` and ``setup.py`` are complete - tag the release:: git tag -s -m "tagged release" 0.26.0 -- cd docs ; make html # to update the usage include files +- update usage include files:: + + cd docs ; make html + - update website with the html (XXX: how?) - create a release on PyPi:: python setup.py register sdist upload --identity="Thomas Waldmann" --sign -- close release milestone +- close release milestone on Github - announce on:: - `mailing list `_ - Twitter (XXX: how? where?) - `IRC channel `_ (change ``/topic`` -- create standalone binaries and upload them to the Github release +- create standalone binaries (see below) and upload them to the Github release Creating standalone binaries @@ -132,9 +136,10 @@ With virtual env activated:: pip install pyinstaller>=3.0 # or git checkout master pyinstaller -F -n borg-PLATFORM --hidden-import=logging.config borg/__main__.py - ls -l dist/* + gpg --armor --detach-sign dist/borg-* If you encounter issues, see also our `Vagrantfile` for details. -Note: Standalone binaries built with pyinstaller are supposed to work on same OS, - same architecture (x86 32bit, amd64 64bit) without external dependencies. +.. note:: Standalone binaries built with pyinstaller are supposed to + work on same OS, same architecture (x86 32bit, amd64 64bit) + without external dependencies. From 4dca50fafab302622eb5c98e0f26a6b34abe8ca6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antoine=20Beaupr=C3=A9?= Date: Wed, 7 Oct 2015 09:44:28 -0400 Subject: [PATCH 03/10] new proposal: formal release notes this integrates the ideas in #214 to have a small checklist of things to send in the announcements on the mailing list and on the github release --- docs/development.rst | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/docs/development.rst b/docs/development.rst index fda1bf36e..dff66ec54 100644 --- a/docs/development.rst +++ b/docs/development.rst @@ -113,18 +113,27 @@ Checklist:: cd docs ; make html - update website with the html (XXX: how?) -- create a release on PyPi:: +- write a release notes announcement, with: + + 1. a single summary paragraph, outlining major changes, security + issues, or deprecation warnings, and generally the severity of + the release, with a pointer to ``CHANGES.rst`` + 2. instructions for installing and upgrading borg (pointers to the + regular install docs, except for new installation/upgrade methods) + 3. known issues (to be updated as we go along) + +- create a release on PyPi with the above release notes:: python setup.py register sdist upload --identity="Thomas Waldmann" --sign -- close release milestone on Github -- announce on:: +- announce the release notes on:: - `mailing list `_ - Twitter (XXX: how? where?) - `IRC channel `_ (change ``/topic`` -- create standalone binaries (see below) and upload them to the Github release +- create standalone binaries (see below) +- upload standalone binaries to the Github release, integrate release notes Creating standalone binaries From d375a69689851c402212e0590b069792cc9bcd4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antoine=20Beaupr=C3=A9?= Date: Wed, 7 Oct 2015 09:53:19 -0400 Subject: [PATCH 04/10] fix rst formatting warnings --- docs/development.rst | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/development.rst b/docs/development.rst index dff66ec54..5712bfc7a 100644 --- a/docs/development.rst +++ b/docs/development.rst @@ -94,7 +94,7 @@ Usage:: Creating a new release ---------------------- -Checklist:: +Checklist: - make sure all issues for this milestone are closed or moved them to the next milestone @@ -106,11 +106,11 @@ Checklist:: - verify that ``MANIFEST.in`` and ``setup.py`` are complete - tag the release:: - git tag -s -m "tagged release" 0.26.0 + git tag -s -m "tagged release" 0.26.0 - update usage include files:: - cd docs ; make html + cd docs ; make html - update website with the html (XXX: how?) - write a release notes announcement, with: @@ -126,11 +126,11 @@ Checklist:: python setup.py register sdist upload --identity="Thomas Waldmann" --sign -- announce the release notes on:: +- announce the release notes on: - - `mailing list `_ - - Twitter (XXX: how? where?) - - `IRC channel `_ (change ``/topic`` + - `mailing list `_ + - Twitter (XXX: how? where?) + - `IRC channel `_ (change ``/topic`` - create standalone binaries (see below) - upload standalone binaries to the Github release, integrate release notes From 74338f8a82ce5d725eca1c0769d730744bbbd3cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antoine=20Beaupr=C3=A9?= Date: Wed, 7 Oct 2015 09:59:30 -0400 Subject: [PATCH 05/10] update where twitter is --- docs/development.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/development.rst b/docs/development.rst index 5712bfc7a..d2642d8cd 100644 --- a/docs/development.rst +++ b/docs/development.rst @@ -129,7 +129,7 @@ Checklist: - announce the release notes on: - `mailing list `_ - - Twitter (XXX: how? where?) + - Twitter (your personnal account, if you have one) - `IRC channel `_ (change ``/topic`` - create standalone binaries (see below) From ebe2e397f7a8a1458584257dca0845261fdb660c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antoine=20Beaupr=C3=A9?= Date: Wed, 7 Oct 2015 10:01:12 -0400 Subject: [PATCH 06/10] -them --- docs/development.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/development.rst b/docs/development.rst index d2642d8cd..baf9d316d 100644 --- a/docs/development.rst +++ b/docs/development.rst @@ -96,8 +96,8 @@ Creating a new release Checklist: -- make sure all issues for this milestone are closed or moved them to - the next milestone +- make sure all issues for this milestone are closed or move to the + next milestone - look and fix any low hanging fruit left on the issue tracker - run tox on all supported platforms via vagrant, check for test failures - check that Travis CI is also happy From a49029db1360203ba1e9f6d97b38adf069d7e9a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antoine=20Beaupr=C3=A9?= Date: Wed, 7 Oct 2015 10:08:00 -0400 Subject: [PATCH 07/10] s/look/find/ --- docs/development.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/development.rst b/docs/development.rst index baf9d316d..fc9b8b2fa 100644 --- a/docs/development.rst +++ b/docs/development.rst @@ -98,7 +98,7 @@ Checklist: - make sure all issues for this milestone are closed or move to the next milestone -- look and fix any low hanging fruit left on the issue tracker +- find and fix any low hanging fruit left on the issue tracker - run tox on all supported platforms via vagrant, check for test failures - check that Travis CI is also happy - update ``CHANGES.rst``, based on ``git log $PREVIOUS_RELEASE..`` From bb9b31e265381fe2cb92a661ad7450acc16a218d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antoine=20Beaupr=C3=A9?= Date: Wed, 7 Oct 2015 10:12:56 -0400 Subject: [PATCH 08/10] Revert "new proposal: formal release notes" This reverts commit 4dca50fafab302622eb5c98e0f26a6b34abe8ca6. Conflicts: docs/development.rst --- docs/development.rst | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/docs/development.rst b/docs/development.rst index fc9b8b2fa..568f8a9d1 100644 --- a/docs/development.rst +++ b/docs/development.rst @@ -113,27 +113,18 @@ Checklist: cd docs ; make html - update website with the html (XXX: how?) -- write a release notes announcement, with: - - 1. a single summary paragraph, outlining major changes, security - issues, or deprecation warnings, and generally the severity of - the release, with a pointer to ``CHANGES.rst`` - 2. instructions for installing and upgrading borg (pointers to the - regular install docs, except for new installation/upgrade methods) - 3. known issues (to be updated as we go along) - -- create a release on PyPi with the above release notes:: +- create a release on PyPi:: python setup.py register sdist upload --identity="Thomas Waldmann" --sign -- announce the release notes on: +- close release milestone on Github +- announce on:: - `mailing list `_ - Twitter (your personnal account, if you have one) - `IRC channel `_ (change ``/topic`` -- create standalone binaries (see below) -- upload standalone binaries to the Github release, integrate release notes +- create standalone binaries (see below) and upload them to the Github release Creating standalone binaries From 48c8186592c5eca272d7f864153f7ff2fab0863f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antoine=20Beaupr=C3=A9?= Date: Wed, 7 Oct 2015 10:16:07 -0400 Subject: [PATCH 09/10] detail what needs to happen in the github release --- docs/development.rst | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/development.rst b/docs/development.rst index 568f8a9d1..d5b77369c 100644 --- a/docs/development.rst +++ b/docs/development.rst @@ -124,7 +124,9 @@ Checklist: - Twitter (your personnal account, if you have one) - `IRC channel `_ (change ``/topic`` -- create standalone binaries (see below) and upload them to the Github release +- create a Github release, include: + * standalone binaries (see below for how to create them) + * a link to ``CHANGES.rst`` Creating standalone binaries From cec8e18d2b3b926271af0f1c95315b45679ee325 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antoine=20Beaupr=C3=A9?= Date: Wed, 7 Oct 2015 10:17:35 -0400 Subject: [PATCH 10/10] gpg can't sign multiple files at once, use a loop --- docs/development.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/development.rst b/docs/development.rst index d5b77369c..a4efc14d4 100644 --- a/docs/development.rst +++ b/docs/development.rst @@ -138,7 +138,7 @@ With virtual env activated:: pip install pyinstaller>=3.0 # or git checkout master pyinstaller -F -n borg-PLATFORM --hidden-import=logging.config borg/__main__.py - gpg --armor --detach-sign dist/borg-* + for file in dist/borg-*; do gpg --armor --detach-sign $file; done If you encounter issues, see also our `Vagrantfile` for details.