+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.::
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.
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
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 quickstart- beta gui/quickstart- beta mediawiki mediawiki mediawiki/ single ~~~~~~~ ~~~~~~~ ~~
+~~~~~~~~~~~~~~
+
+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/
PPA.::
+
+ sudo add-apt-repository ppa:juju-
+ 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/
+ juju-quickstart -e local -n single $HOME/bundles/
+ 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:
+ 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. changelog` ` file present in
The
packaging version can be found in the ``debian/
the
@@ -99,7 +142,7 @@
to the packaging branch trunk, and follow the instructions below.
The recipe for creating packages is in /code.launchpad .net/~juju- gui-charmers/ +recipe/ juju-quickstart -daily>. /code.launchpad .net/~juju- gui-charmers/ +recipe/ juju-quickstart -trunk- daily>. /launchpad. net/~juju- gui/+archive/ quickstart- beta/+packages>. /launchpad. net/~juju/ +archive/ stable>.
-<https:/
+<https:/
We currently publish beta releases on the Juju Quickstart Beta PPA: see
<https:/
When a beta release is ready to be published, we move over the packages
from
@@ -107,8 +150,9 @@
<https:/
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 ~~~~~~~ ~~~~~~~ ~~~ /pypi.python. org/pypi/ juju-quickstart>.
~~~~~
@@ -116,7 +160,8 @@
Juju Quickstart is present on PyPI: see
<https:/
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>