Skip to content

Commit

Permalink
release notes improvements and documentation for console and waterfall
Browse files Browse the repository at this point in the history
  • Loading branch information
tardyp committed Apr 19, 2017
1 parent a98d396 commit 7103d9c
Show file tree
Hide file tree
Showing 3 changed files with 121 additions and 36 deletions.
7 changes: 5 additions & 2 deletions Makefile
Expand Up @@ -74,11 +74,14 @@ virtualenv: .venv
@echo now you can type following command to activate your virtualenv
@echo . .venv/bin/activate

release_notes: .venv
test ! -z "$(VERSION)" # usage: make release_notes VERSION=0.9.2
yes | towncrier --version $(VERSION) --date `date -u +%F`
git commit -m "relnotes for $(VERSION)"

# helper for release creation
release: .venv
test ! -z "$(VERSION)" # usage: make release VERSION=0.9.2
yes | towncrier --version $(VERSION) --date `date -u +%F`
git commit -m "relnotes for $(VERSION)"
GPG_TTY=`tty` git tag -a -sf v$(VERSION) -m "TAG $(VERSION)"
./common/maketarballs.sh
./common/smokedist.sh
Expand Down
72 changes: 71 additions & 1 deletion master/docs/manual/cfg-www.rst
Expand Up @@ -27,10 +27,11 @@ This server is configured with the ``www`` configuration key, which specifies a
``plugins``
This key gives a dictionary of additional UI plugins to load, along with configuration for those plugins.
These plugins must be separately installed in the Python environment, e.g., ``pip install buildbot-waterfall-view``.
See :ref:`UI-Plugins`
For example::

c['www'] = {
'plugins': {'waterfall_view': {'num_builds': 50}}
'plugins': {'waterfall_view': True}
}

``debug``
Expand Down Expand Up @@ -136,6 +137,75 @@ This server is configured with the ``www`` configuration key, which specifies a
In simple cases, the ``buildbotURL`` contains the hostname and port of the master, e.g., ``http://master.example.com:8010/``.
In more complex cases, with multiple masters, web proxies, or load balancers, the correspondence may be less obvious.

.. _UI-Plugins:

UI plugins
~~~~~~~~~~

.. _WaterfallView:

Waterfall View
++++++++++++++

Waterfall shows the whole buildbot activity in vertical timeline.
Builds are represented with boxes whose height vary according to their duration.
Builds are sorted by builders in the horizontal axes, which allows you to see how builders are scheduled together.

.. code-block:: bash
pip install buildbot-waterfall-view
.. code-block:: python
c['www'] = {
'plugins': {'waterfall_view': True}
}
.. note::

Waterfall is the emblematic view of Buildbot Eight.
It allowed to see the whole Buildbot activity very quickly.
Waterfall however had big scalability issues, and larger installs had to disable the page in order to avoid tens of seconds master hang because of a big waterfall page rendering.
The whole Buildbot Eight internal status API has been tailored in order to make Waterfall possible.
This is not the case anymore with Buildbot Nine, which has a more generic and scalable :ref:`Data_API` and :ref:`REST_API`.
This is the reason why Waterfall does not display the steps details anymore.
However nothing is impossible.
We could make a specific REST api available to generate all the data needed for waterfall on the server.
Please step-in if you want to help improve Waterfall view.

.. _ConsoleView:

Console View
++++++++++++++

Console view shows the whole buildbot activity arranged by changes as discovered by :ref:`Change-Sources` vertically and builders horizontally.
If a builder has no build in the current time range, it will not be displayed.
If no change is available for a build, then it will generate a fake change according to the ``got_revision`` property.

Console view will also group the builders by tags.
When there are several tags defined per builders, it will first group the builders by the tag that is defined for most builders.
Then given those builders, it will group them again in another tag cluster.
In order to keep the UI usable, you have to keep your tags short!

.. code-block:: bash
pip install buildbot-waterfall-view
.. code-block:: python
c['www'] = {
'plugins': {'console_view': True}
}
.. note::

Nine's Console View is the equivalent of Buildbot Eight's Console and tgrid views.
Unlike Waterfall, we think it is now feature equivalent and even better, with its live update capabilities.
Please submit an issue if you think there is an issue displaying your data, with screenshots of what happen and suggestion on what to improve.


.. _Web-Authentication:

Authentication plugins
Expand Down
78 changes: 45 additions & 33 deletions master/docs/relnotes/index.rst
Expand Up @@ -13,63 +13,75 @@ Release Notes
Buildbot ``0.9.6`` ( ``2017-04-19`` )
=====================================================

Bug fixes
---------
Core Bug fixes
--------------

- :py:class:`buildbot.www.authz.endpointmatchers.AnyControlEndpointMatcher` now
actually doesn't match `GET` requests. Before it would act like an
`AnyEndpointMatcher` since the `GET` had a different case.
- ``pollAtLaunch`` of the :bb:chsrc:`GitHubPullrequestPoller` now works as
expected. Also the author email won't be displayed as None
- ``console_view`` now properly uses ``revlink`` metadata to link to changes.
- Fixed Console View infinite loading spinner when no change have been recorded
yet (:issue:`3060`).
- Passing ``unicode`` ``builderNames`` to :bb:sched:`ForceScheduler` no longer
causes an error.
- Gerrit Change Source and Reporter now use the system PATH variable to find
the ssh binary.
- :py:class: `~buildbot_worker.commands.transfer.SlaveDirectoryUploadCommand`
no longer throws exceptions because the file "is used by another process"
under Windows
- Fix issue with :bb:sched::`Nightly` change classification raising foreign key
exceptions (:issue:`3021`)
- Make :py:class:`future.moves.urllib.error.URLError` available in the
:py:mod:`buildbot_net_usage_data` module. Fixes an exception found in
:py:func:`~buildbot_net_usage_data._sendWithUrlib` when running through the
tutorial using Python 3.
- Fixes an exception found :py:func:`buildbot_net_usage_data._sendWithUrlib` when running through the tutorial using Python 3.
- ``usePTY`` configuration of the :bb:step:`ShellCommand` now works as expected
with recent version of buildbot-worker.

Components Bug fixes
--------------------
- ``pollAtLaunch`` of the :bb:chsrc:`GitHubPullrequestPoller` now works as
expected. Also the author email won't be displayed as None
- :bb:chsrc:`GerritChangeSource` and :bb:reporter:`GerritStatusPush` now use the master's environment including PATH variable to find
the ssh binary.
- :py:class:`~buildbot_worker.commands.transfer.SlaveDirectoryUploadCommand`
no longer throws exceptions because the file "is used by another process"
under Windows

UI Bug fixes
------------

- Fix waterfall scrolling and zooming in current browsers
- ``console_view`` now properly uses ``revlink`` metadata to link to changes.
- Fixed Console View infinite loading spinner when no change have been recorded
yet (:issue:`3060`).

Features
--------
Core Features
-------------

- new :ref:`Virtual-Builders` concept for better integration of frameworks
which store the build config along side the source code.

- :py:class: `~buildbot.status.web.hooks.bitbucket` now sets the `event`
property on each change to what the X-Event-Key header contains.
Components Features
-------------------

- :bb:chsrc:`BitBucket` now sets the ``event``
property on each change to what the ``X-Event-Key`` header contains.
- :bb:chsrc:`GitHubPullrequestPoller` now adds additional information about the
pull request to properties. The property argument is removed and is populated
with the repository full name.
- :ref:`WWW-data-module` collections now have a ``$resolved`` attribute which
allows dashboard to now when the data is loaded.
- :py:class: `~buildbot.status.web.hooks.github.GitHubEventHandler` now sets
the `event` property on each change to what the X-GitHub-Event header
- :bb:chsrc:`GitHub` now sets
the ``event`` property on each change to what the ``X-GitHub-Event`` header
contains.
- Changed :py:class:`~buildbot.www.oauth2.GitHubAuth` now supports GitHub
Enterprise when setting new ``serverURL`` argument.
- :py:class: `~buildbot.status.web.hooks.gitlab` now sets the `event` property
on each change to what the X-Gitlab-Event header contains.
- new :ref:`Virtual-Builders` concept for better integration of frameworks
which store the build config along side the source code.
- :py:class: `~buildbot.status.web.hooks.github.GitHubEventHandler` now process
- :bb:chsrc:`GitLab` now sets the ``event`` property
on each change to what the ``X-Gitlab-Event`` header contains.
- :bb:chsrc:`GitHub` now process
git tag push events
- :py:class: `~buildbot.status.web.hooks.github.GitHubEventHandler` now adds
- :bb:chsrc:`GitHub` now adds
more information about the pull request to the properties. This syncs
features with GitHubPullrequestPoller
- :py:class: `~buildbot.status.web.hooks.gitlab` now process git tag push
features with :bb:chsrc:`GitHubPullrequestPoller`
- :bb:chsrc:`GitLab` now process git tag push
events
- :py:class: `~buildbot.status.web.hooks.gitlab` now supports authentication
- :bb:chsrc:`GitLab` now supports authentication
with the secret token

UI Features
-----------
- Reworked :ref:`ConsoleView` and :ref:`WaterfallView` for better usability and better integration with virtual builders
- :ref:`WWW-data-module` collections now have a ``$resolved`` attribute which
allows dashboard to know when the data is loaded.


Buildbot ``0.9.5`` ( ``2017-03-18`` )
===================================================
Expand Down

0 comments on commit 7103d9c

Please sign in to comment.