Merge lp:~frankban/juju-gui/update-release-docs into lp:juju-gui/experimental

Proposed by Francesco Banconi
Status: Merged
Merged at revision: 1128
Proposed branch: lp:~frankban/juju-gui/update-release-docs
Merge into: lp:juju-gui/experimental
Diff against target: 65 lines (+55/-0)
1 file modified
docs/process.rst (+55/-0)
To merge this branch: bzr merge lp:~frankban/juju-gui/update-release-docs
Reviewer Review Type Date Requested Status
Juju GUI Hackers Pending
Review via email: mp+190611@code.launchpad.net

Description of the change

Update the release process documentation.

Added the charm release steps.

https://codereview.appspot.com/14531051/

To post a comment you must log in.
Revision history for this message
Francesco Banconi (frankban) wrote :
Download full text (4.5 KiB)

Reviewers: mp+190611_code.launchpad.net,

Message:
Please take a look.

Description:
Update the release process documentation.

Added the charm release steps.

https://code.launchpad.net/~frankban/juju-gui/update-release-docs/+merge/190611

(do not edit description out of merge proposal)

Please review this at https://codereview.appspot.com/14531051/

Affected files (+57, -0 lines):
   A [revision details]
   M docs/process.rst

Index: [revision details]
=== added file '[revision details]'
--- [revision details] 2012-01-01 00:00:00 +0000
+++ [revision details] 2012-01-01 00:00:00 +0000
@@ -0,0 +1,2 @@
+Old revision: <email address hidden>
+New revision:
<email address hidden>

Index: docs/process.rst
=== modified file 'docs/process.rst'
--- docs/process.rst 2013-10-01 20:08:26 +0000
+++ docs/process.rst 2013-10-11 11:04:36 +0000
@@ -204,6 +204,61 @@
      ``bzr commit -m 'Set version back to unreleased.'``
    - Push the branch directly to the parent (``bzr push :parent`` should
work).

+- Make a new release of the juju-gui charm by doing the following.
+
+ - Get a clean branch of the charm trunk owned by juju-gui:
+ ``bzr branch lp:~juju-gui/charms/precise/juju-gui/trunk/
juju-gui-trunk``.
+ - Get a clean branch of the released branch trunk (from charmers):
+ ``bzr branch lp:charms/juju-gui charmers-trunk``.
+ - Merge possible changes from the charmers' charm to trunk:
+ ``bzr merge -d juju-gui-trunk charmers-trunk``.
+ - If required, commit the changes by running the following from the
+ juju-gui-trunk directory:
+ ``bzr ci -m "Merged changes from the released charm."``
+ - Copy the new release to the releases directory of the charm
+ (i.e. ``juju-gui-trunk/releases``).
+ - Remove the old release present in the same directory, and add the new
one
+ to the repository, e.g.:
+ ``bzr rm releases/juju-gui-0.10.1.tgz && bzr add``.
+ - Bump the charm revision up.
+ - Commit the changes:
+ ``bzr ci -m "Updated to the newest juju-gui release."``.
+ - Switch to the charmers' charm directory (charmers-trunk).
+ - Merge the new changes from trunk: ``bzr merge ../juju-gui-trunk/``.
+ - Set a bzr tag for the release, e.g.: ``bzr tag 0.11.0``.
+ - Commit the changes: ``bzr ci -m "New charm release."``
+ - If the merge step above shows more changes than just the new GUI
release,
+ it is worth live testing the "upgrade charm" steps. This way we ensure
any
+ production deployment (e.g. jujucharms.com) can upgrade to the new
charm
+ without problems. This is done by deploying from a local repository
the old
+ released juju-gui charm, setting up the options as described in
+
<https://wiki.canonical.com/InformationInfrastructure/WebOps/CDO/JujuGui>,
+ and then upgrading the charm to the new local version, verifying the
hooks
+ are executed correctly and the resulting GUI works well. Please ping
+ GUI developers on the Freenode's #juju-gui channel for further
explanation
+ of the process.
+ - Run the charm linter: ``make lint``.
+ - Run the charm unit and functional tests, passing the name of th...

Read more...

Revision history for this message
Richard Harding (rharding) wrote :
Revision history for this message
Francesco Banconi (frankban) wrote :

*** Submitted:

Update the release process documentation.

Added the charm release steps.

R=rharding
CC=
https://codereview.appspot.com/14531051

https://codereview.appspot.com/14531051/

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'docs/process.rst'
2--- docs/process.rst 2013-10-01 20:08:26 +0000
3+++ docs/process.rst 2013-10-11 11:08:02 +0000
4@@ -204,6 +204,61 @@
5 ``bzr commit -m 'Set version back to unreleased.'``
6 - Push the branch directly to the parent (``bzr push :parent`` should work).
7
8+- Make a new release of the juju-gui charm by doing the following.
9+
10+ - Get a clean branch of the charm trunk owned by juju-gui:
11+ ``bzr branch lp:~juju-gui/charms/precise/juju-gui/trunk/ juju-gui-trunk``.
12+ - Get a clean branch of the released branch trunk (from charmers):
13+ ``bzr branch lp:charms/juju-gui charmers-trunk``.
14+ - Merge possible changes from the charmers' charm to trunk:
15+ ``bzr merge -d juju-gui-trunk charmers-trunk``.
16+ - If required, commit the changes by running the following from the
17+ juju-gui-trunk directory:
18+ ``bzr ci -m "Merged changes from the released charm."``
19+ - Copy the new release to the releases directory of the charm
20+ (i.e. ``juju-gui-trunk/releases``).
21+ - Remove the old release present in the same directory, and add the new one
22+ to the repository, e.g.:
23+ ``bzr rm releases/juju-gui-0.10.1.tgz && bzr add``.
24+ - Bump the charm revision up.
25+ - Commit the changes:
26+ ``bzr ci -m "Updated to the newest juju-gui release."``.
27+ - Switch to the charmers' charm directory (charmers-trunk).
28+ - Merge the new changes from trunk: ``bzr merge ../juju-gui-trunk/``.
29+ - Set a bzr tag for the release, e.g.: ``bzr tag 0.11.0``.
30+ - Commit the changes: ``bzr ci -m "New charm release."``
31+ - If the merge step above shows more changes than just the new GUI release,
32+ it is worth live testing the "upgrade charm" steps. This way we ensure any
33+ production deployment (e.g. jujucharms.com) can upgrade to the new charm
34+ without problems. This is done by deploying from a local repository the old
35+ released juju-gui charm, setting up the options as described in
36+ <https://wiki.canonical.com/InformationInfrastructure/WebOps/CDO/JujuGui>,
37+ and then upgrading the charm to the new local version, verifying the hooks
38+ are executed correctly and the resulting GUI works well. Please ping
39+ GUI developers on the Freenode's #juju-gui channel for further explanation
40+ of the process.
41+ - Run the charm linter: ``make lint``.
42+ - Run the charm unit and functional tests, passing the name of the Juju
43+ environment you want to use (this step takes ~1 hour):
44+ ``make test JUJU_ENV=ec2``. Note that, since juju-core requires root
45+ privileges to bootstrap and destroy an environment when you use the local
46+ provider, and since juju-test does not yet support this use case, you have
47+ to use another provider type (like AWS in the example above).
48+ - juju-test might leave the environment alive at the end of the test run:
49+ destroy it with ``juju destroy-environment -e ec2 -y``.
50+ - if any error occurs while trying the "upgrade charm" story or in the test
51+ suite, fix the errors before proceeding. If it ends up not being a trivial
52+ fix, stop this process and create a critical bug/card.
53+ - if everything went well, push the branch directly to the parent:
54+ ``bzr push :parent`` should work.
55+ - Align the ~juju-gui branch to the ~charmers one:
56+ ``cd ../juju-gui-trunk && bzr merge ../charmers-trunk/``.
57+ - Commit: bzr ci -m "Merged back the new charm release."
58+ - Push the branch directly to the parent: ``bzr push :parent`` should work.
59+ - In a few minutes, the new charm revision should be available in
60+ <https://jujucharms.com/fullscreen/search/precise/juju-gui/> and
61+ <http://manage.jujucharms.com/charms/precise/juju-gui>.
62+
63 You are done!
64
65 Checklist for Making a Developer Release

Subscribers

People subscribed via source and target branches