Code review comment for lp://qastaging/~bac/juju-quickstart/qa-procedure

Revision history for this message
Brad Crittenden (bac) wrote :

Reviewers: mp+222704_code.launchpad.net,

Message:
Please take a look.

Description:
Add QA procedures to HACKING.rst

New QA steps added. Also updated PPA build procedure given we have
bifurcated
the pre-trusty and trusty-and-beyond steps.

https://code.launchpad.net/~bac/juju-quickstart/qa-procedure/+merge/222704

(do not edit description out of merge proposal)

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

Affected files (+56, -9 lines):
   M HACKING.rst
   A [revision details]

Index: HACKING.rst
=== modified file 'HACKING.rst'
--- HACKING.rst 2014-02-19 13:27:04 +0000
+++ HACKING.rst 2014-06-10 17:37:55 +0000
@@ -73,14 +73,57 @@

      $ .venv/bin/python juju-quickstart --help

+Pre-release QA
+~~~~~~~~~~~~~~
+
+The general steps for manual QA (until we get a continuous integration set
up
+with functional tests) should be run on trusty and saucy.
+
+* Ensure juju-quickstart is installed from the juju-gui/quickstart-beta
PPA.::
+
+ sudo add-apt-repository ppa:juju-gui/quickstart-beta
+ sudo apt update
+ sudo apt install juju-quickstart
+
+* Remove juju from the system.::
+
+ sudo apt-get remove --purge juju-core
+
+* Verify LXC environments can boot from scratch, using a local bundle::
+
+ mkdir $HOME/bundles
+ bzr branch lp:~charmers/charms/bundles/mediawiki/bundle
$HOME/bundles/mediawiki
+ juju-quickstart -e local -n single $HOME/bundles/mediawiki
+ juju destroy-environment local -y
+
+* Verify an environment that has already been bootstrapped is recogized and
+ the GUI is deployed::
+
+ juju bootstrap -e local
+ juju quickstart -e local bundle:mediawiki/single
+ juju destroy-environment local -y
+
+Repeat above on ec2.
+
  Creating PPA releases
  ~~~~~~~~~~~~~~~~~~~~~

+Due to an inconsistency of package names for the websocket package
introduced
+with trusty, the juju-quickstart packaging must be handled separately for
+series before trusty and trusty and later. Consequently, there are two
+packaging branches and two build recipes. The two packaging branches are:
+
+* lp:~juju-gui/juju-quickstart/packaging-trunk, and
+* lp:~juju-gui/juju-quickstart/packaging-pre-trusty
+
+For the following instructions we'll use the -trunk version but the
procedure
+is the same for the -pre-trusty branch.
+
  The packaging repository (including the ``debian`` directory) can be
checked
-out from lp:~juju-gui/juju-quickstart/packaging/, e.g.::
+out from lp:~juju-gui/juju-quickstart/packaging-trunk, e.g.::

- $ bzr branch lp:~juju-gui/juju-quickstart/packaging/ packaging
- $ cd packaging
+ $ bzr branch lp:~juju-gui/juju-quickstart/packaging-trunk/
packaging-trunk
+ $ cd packaging-trunk

  Check that the packaging version reflects the latest Quickstart version.
The
  packaging version can be found in the ``debian/changelog`` file present in
the
@@ -99,7 +142,7 @@
  to the packaging branch trunk, and follow the instructions below.

  The recipe for creating packages is in
-<https://code.launchpad.net/~juju-gui-charmers/+recipe/juju-quickstart-daily>.
+<https://code.launchpad.net/~juju-gui-charmers/+recipe/juju-quickstart-trunk-daily>.
  We currently publish beta releases on the Juju Quickstart Beta PPA: see
  <https://launchpad.net/~juju-gui/+archive/quickstart-beta/+packages>.
  When a beta release is ready to be published, we move over the packages
from
@@ -107,8 +150,9 @@
  <https://launchpad.net/~juju/+archive/stable>.

  Packages depend on `python-jujuclient` and `python-websocket-client` to be
-available. They are available in saucy, and they are also stored in our
PPA in
-order to support previous Ubuntu releases.
+available. They are available in trusty and later, and they are also
stored in
+our PPA in order to support previous Ubuntu releases. Note we depend on
+version 0.12.0 of python-websocket and that version is in the PPAs.

  Creating PyPI releases
  ~~~~~~~~~~~~~~~~~~~~~~
@@ -116,7 +160,8 @@
  Juju Quickstart is present on PyPI: see
  <https://pypi.python.org/pypi/juju-quickstart>.
  It is possible to register and upload a new release on PyPI by just running
-``make release`` and providing your PyPI credentials.
+``make release`` and providing your PyPI credentials. Note there are no
+series-specific changes required for publishing to PyPI.

  Updating application and test dependencies
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -168,6 +213,6 @@

  Sometimes, while debugging, it is convenient to restart the builtin server
  (which also empties the bundle deployments queue). To do that, run the
-following in the Juju GUI machine:
+following in the Juju GUI machine::

- service guiserver restart
+ $ service guiserver restart

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>

« Back to merge proposal