Skip to content
This repository has been archived by the owner on Mar 17, 2021. It is now read-only.

Commit

Permalink
Merge pull request #510 from taurus-org/release-Jul17
Browse files Browse the repository at this point in the history
Release jul17 (4.1.0)
  • Loading branch information
Carlos Pascual authored Jul 25, 2017
2 parents fb02bce + 540e57e commit 28ffd9f
Show file tree
Hide file tree
Showing 167 changed files with 6,320 additions and 4,608 deletions.
2 changes: 1 addition & 1 deletion .bumpversion.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ commit = True
message = Bump version {current_version} to {new_version}
tag = False
tag_name = {new_version}
current_version = 4.0.3
current_version = 4.1.0
parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)(\-(?P<release>[a-z]+))?
serialize =
{major}.{minor}.{patch}-{release}
Expand Down
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* text=auto
50 changes: 48 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,55 @@ This file follows the formats and conventions from [keepachangelog.com]

Note: changes in the [support-3.x] branch (which was split from
the master branch after [3.7.1] and maintained in parallel to the
develop branch) won't be reflected in this file.
develop branch) won't be reflected in this file.


## Unreleased
## [4.1.0] - 2017-07-21

### Added
- Formatting API in TaurusBaseComponent (#444)
- TangoAttribute.format_spec and taurus.core.util.tangoFormatter
- Write support for eval scheme (#425)
- Arbitrary module support in eval scheme (#423)
- TaurusGUI New GUI wizard generates setuptools distribution (#477)
- TaurusModel.parentObject property (#415)
- TangoAttribute.getAttributeProxy (#450)
- `taurusdemo` launcher (#416)

### Changed
- pint_local updated to v 0.8 (#445)
- Improve config properties of TaurusTrend2D (#489)
- Make taurusplot and taurustrend (re)store their geometry (#508)
- Improve logs when handling unsupported units in
TangoAttributes (#420, #495, #403)
- Improve logs when TangoAttribute read fails (#478)
- Allow subscribing to Tango attributess without emiting firsat event (#482)
- Use dependencies (and optional deps) in setuptools distribution (#479)
- Make TaurusPlot inspector mode use the attribute format for display (#509)

### Deprecated
- TangoAttribute.format
- taurus.qt.qtgui.console (#385)
- taurustrend1d (#514)
- tauruscurve (#514)

### Removed
- `taurus.external.ordereddict` (#223)
- `taurus.qt.qtgui.Q*` modules (Qt, QtCore, QtGui, Qwt5,...)
- `taurus.qt.qtgui.util.taurusropepatch` module
- `taurusqt.qtgui.util.genwidget`

### Fixed
- Taurus4 ignoring Tango format (#392)
- Incompatibility with Tango9.2 (#458)
- Bug in handling of nanoseconds by TaurusTimeVal (#453)
- Import error when PyTango is not installed (#398)
- Issues affecting TaurusPlot (and Trends) (#422, #438, #440, #475, #508 )
- Issues affecting TaurusLCD (#467)
- Issues when changing tango host (#79, #378, #382, #487)
- Issues affecting Eval (#428, #448)
- Docs issues (#249, #267, #397, #430, #490)
- [Many other issues](https://github.com/taurus-org/taurus/issues?q=milestone%3AJul17+label%3Abug)


## [4.0.3] - 2017-01-16
Expand Down Expand Up @@ -196,6 +241,7 @@ and several other places](https://sf.net/p/tauruslib/tickets/milestone/Jul15/)
[TEP3]: http://www.taurus-scada.org/tep/?TEP3.md
[TEP14]: http://www.taurus-scada.org/tep/?TEP14.md
[Unreleased]: https://github.com/taurus-org/taurus/tree/develop
[4.1.0]: https://github.com/taurus-org/taurus/tree/4.1.0
[4.0.3]: https://github.com/taurus-org/taurus/tree/4.0.3
[4.0.1]: https://github.com/taurus-org/taurus/tree/4.0.1
[3.7.1]: https://github.com/taurus-org/taurus/tree/3.7.1
Expand Down
38 changes: 38 additions & 0 deletions README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@

.. image:: https://img.shields.io/pypi/pyversions/taurus.svg
:target: https://pypi.python.org/pypi/taurus
:alt: Python Versions

.. image:: https://img.shields.io/pypi/l/taurus.svg
:target: https://pypi.python.org/pypi/taurus
:alt: License

.. image:: https://img.shields.io/pypi/v/taurus.svg
:target: https://pypi.python.org/pypi/taurus
:alt: Latest Version

.. image:: https://badge.fury.io/gh/taurus-org%2Ftaurus.svg
:target: https://github.com/taurus-org/taurus
:alt: GitHub

.. image:: https://readthedocs.org/projects/taurus/badge/
:target: http://taurus-scada.org/docs.html
:alt: Documentation

.. image:: https://travis-ci.org/taurus-org/taurus.svg?branch=develop
:target: https://travis-ci.org/taurus-org/taurus
:alt: Travis

.. image:: https://ci.appveyor.com/api/projects/status/rxeo3hsycilnyn9k/branch/develop?svg=true
:target: https://ci.appveyor.com/project/taurusorg/taurus/branch/develop
:alt: Appveyor


Taurus
========

Taurus is a control and data acquisition python module

Main web site: http://taurus-scada.org


44 changes: 7 additions & 37 deletions ci/appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,12 @@ environment:
# Python 2.7 (64)
- PYTHON_DIR: "C:\\Python27-x64"
QT_BINDINGS: "PyQt4"
TEST_SCRIPT: "ci\\win-test.bat"

# # Python 2.7
# - PYTHON_DIR: "C:\\Python27"
# QT_BINDINGS: "PyQt4"
# Python 2.7
- PYTHON_DIR: "C:\\Python27"
QT_BINDINGS: "PyQt4"
TEST_SCRIPT: "ci\\win-test.bat"


install:
Expand Down Expand Up @@ -51,40 +53,8 @@ test_script:
- "virtualenv --clear %VENV_TEST_DIR%"
- "%VENV_TEST_DIR%\\Scripts\\activate.bat"

# Install numpy
- "pip install --trusted-host www.silx.org --find-links http://www.silx.org/pub/wheelhouse/ --upgrade numpy"

# Install Qt binding
# Install PyQt4 from www.silx.org and PyQt5/PySide from pypi
- "pip install --pre --trusted-host www.silx.org --find-links http://www.silx.org/pub/wheelhouse/ %QT_BINDINGS%"

# Install lxml
- "pip install --pre --trusted-host www.silx.org --find-links http://www.silx.org/pub/wheelhouse/ lxml==3.7.0"

# Install h5py
- "pip install --pre --trusted-host www.silx.org --find-links http://www.silx.org/pub/wheelhouse/ h5py"

# Install scipy
- "pip install --pre --trusted-host www.silx.org --find-links http://www.silx.org/pub/wheelhouse/ scipy"

# Install guiqwt
# TODO, install guiqwt from pypi
# - "pip install --upgrade guiqwt"

# Install the generated taurus wheel package to test it
# Make sure it does not come from cache or pypi
# At this point all install_requires dependencies MUST be installed
# as this is installing only from dist/
- "pip install --pre --find-links dist/ --no-cache-dir --no-index taurus"

# Print Python info
- "pip list"

# launch tests (for now only a trivial import, since the testsuite
# would fail due to missing tango and epics)
- "python -c \"import taurus\""
# TODO: run testsuite
#- "taurustestsuite"
# Run the test script
- "%TEST_SCRIPT%"

# Leave test virtualenv
- "%VENV_TEST_DIR%\\Scripts\\deactivate.bat"
Expand Down
28 changes: 28 additions & 0 deletions ci/win-test.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
:: Install numpy
pip install --trusted-host www.silx.org --find-links http://www.silx.org/pub/wheelhouse/ --upgrade numpy

:: Install Qt binding
:: Install PyQt4 from www.silx.org and PyQt5/PySide from pypi
pip install --pre --trusted-host www.silx.org --find-links http://www.silx.org/pub/wheelhouse/ %QT_BINDINGS%

:: Install lxml
pip install --pre --trusted-host www.silx.org --find-links http://www.silx.org/pub/wheelhouse/ lxml==3.7.0

:: Install guiqwt
:: TODO, install guiqwt from pypi
:: pip install --upgrade guiqwt

:: Install the generated taurus wheel package to test it
:: Make sure it does not come from cache or pypi
:: At this point all install_requires dependencies MUST be installed
:: as this is installing only from dist/
pip install --pre --find-links dist/ --no-cache-dir --no-index taurus

:: Print Python info
pip list

:: launch tests (for now only a trivial import, since the testsuite
:: would fail due to missing tango and epics)
python -c "import taurus"
:: TODO: run testsuite
::taurustestsuite
155 changes: 155 additions & 0 deletions doc/how_to_release.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,155 @@
# How to release (draft)

This is a guide for taurus release managers: it details the
steps for making an official release, including a checklist
of stuff that should be manually tested.

## The release process

1. During all the development, use the Milestones to keep track of the intended release for each issue
2. Previous to the release deadline, re-check the open issues/PR and update the assignation issues/PR to the release milestone. Request feedback from the devel community.
3. Work to close all the PR/issues remaining open in the milestone. This can be either done in develop or in a release branch called `release-XXX` (where `XXX` is the milestone name, e.g. `Jul17`). If a release branch is used, `develop` is freed to continue with integrations that may not be suitable for this release. On the other hand, it adds a bit more work because the release-related PRs (which are done against the `release-XXX` branch), may need to be also merged to develop. Note: the `release-XXX` branch *can* live in the taurus-org repo or on a personal fork (in which case you should do step 4.4 and **now** to allow other integrators to push directly to it).
4. Create the release branch if it was not done already in the previous step and:
4.1. Review and update the CHANGELOG.md if necessary. See [this](http://keepachangelog.com)
4.2. Bump version using `bumpversion <major|minor|patch> && bumpversion release` (use [semver](http://semver.org/) criteria to choose amongst `major`, `minor` or `patch`
4.3. Update man pages:
`cd <taurus>/doc`
`./makeman`
`git add man`
`git commit -m "Update man pages"`
4.4. Create a PR to merge the `release-XXX` against the **`master`** branch of the taurus-org repo
5. Request reviews in the PR from at least one integrator from each participating institute. The master branch is protected, so the reviews need to be cleared (or dismissed with an explanation) before the release can be merged.
6. Perform manual tests (see checklist below). You may use the CI artifacts (e.g., from appveyor) and post the results in the comments of the PR.
7. Once all reviews a cleared, merge the PR and tag in master
8. Merge also the `release-XXX` branch into develop, and bump the version of develop with `bumpversion patch`


## Manual test checklist

This is a check-list of manual tests. It is just orientative. Expand it at will.
This list assumes a clean environment with all Taurus dependencies already installed
and access to a Tango system with the TangoTest DS running.

Hint: this list can be used as a template to be copy-pasted on a release PR

### Installation
- [ ] Install Taurus from the tar.gz : `pip install <tarball_artifact_URL>`

### Taurusdemo

- [ ] Test all of the buttons of the taurusdemo. All demos should launch correctly and without raising exceptions
- [ ] For TaurusLabel, check foreground role, the background role, the prefix, the suffix, etc.
- [ ] For TaurusLabel, use a model with fragment (e.g., `sys/tg_test/1/ampli#magnitude`, `eval:Q('1mm')#unit"`)
- [ ] For LCD: Test the foreground roles and the background role
- [ ] For Led: Test the colors, ON color, Off color.

### taurusplot
(basically try all features described in the [user's guide](http://taurus-scada.org/en/latest/users/ui/index.html)

- [ ] Execute: `taurusplot "eval:Q(rand(333),'mm')" sys/tg_test/1/wave`
- [ ] Check region Zoom in and out with region zoom and go back stacked zoom levels with
- [ ] Check mouse wheel Zoom
- [ ] Test panning (dragging with CTRL pressed)
- [ ] Test inspector mode
- [ ] Test pause mode
- [ ] Move curves between axes by clicking on legend (and test zoom on Y2)
- [ ] Test plot configuration dialog
- [ ] Test changing curve titles
- [ ] Test Save & restore config (change curve properties, zoom, etc & check that everything is restored)
- [ ] ... other features from [user's guide](http://taurus-scada.org/en/latest/users/ui/index.html)

### taurustrend
(basically try all features described in the [user's guide](http://taurus-scada.org/en/latest/users/ui/index.html)

- [ ] Execute: `taurustrend "eval:Q(rand(),'mm')" sys/tg_test/1/ampli`
- [ ] Execute: `taurustrend -xe "eval:Q(rand(),'mm')" sys/tg_test/1/ampli`
- [ ] Check region Zoom in and out with region zoom and go back stacked zoom levels with
- [ ] Check mouse wheel Zoom
- [ ] Test panning (dragging with CTRL pressed)
- [ ] Test inspector mode
- [ ] Test pause mode
- [ ] Move curves between axes by clicking on legend (and test zoom on Y2)
- [ ] Test plot configuration dialog
- [ ] Test Forced reading mode
- [ ] Test Save & restore config (change curve properties, zoom, etc & check that everything is restored)
- [ ] ... other features from [user's guide](http://taurus-scada.org/en/latest/users/ui/index.html)

### Test taurusimage

- [ ] Execute `taurusimage --demo`
- [ ] try to resize the image and move it using the mouse.

### taurustrend2d

- [ ] Execute: `taurustrend2d --demo --taurus-polling-period 333`
- [ ] Execute: `taurustrend2d -xt --demo --taurus-polling-period 333` **(known to fail in 4.1.0)**
- [ ] Execute: `taurustrend2d -xe --demo --taurus-polling-period 333`
- [ ] Test auto-scroll and auto-scale tools
- [ ] Test Save & restore config (change axes range, zoom, tool status colormap etc & check that everything is restored)

### Tauruscurve & taurustrend1d
(unused and to be deprecated, you may test but **do not worry too much if they fail**)

- [ ] Execute: `tauruscurve --demo` and `taurustrend1d "eval:Q(rand(),'mm')"`
- [ ] Change size
- [ ] Move curve with mouse
- [ ] Resize curve with mouse
- [ ] Test some option of the menu with mouse.

### taurusdesigner
- [ ] Check that taurusdesigner is correctly opened and taurus widgets are present in the catalog
- [ ] Create an empty widget and drag various taurus widgets to it (they should be correctly dropped)

### taurusdevicepanel
- [ ] Execute: `taurusdevicepanel sys/tg_test/1`
- [ ] Check that it opens correctly and that the attrs and commands are populated
- [ ] Execute SwitchStates command (see that the state label changes to FAULT and its color to red)
and then execute the Init command and the label returns to RUNNING (green)

### tauruspanel
- [ ] Execute: `tauruspanel`
- [ ] Navigate in the tree and select the TangoTest device (the attr an command panels should be populated)

### taurusform
(basically try all features described in the [user's guide](http://taurus-scada.org/en/latest/users/ui/index.html)

- [ ] Launch `taurusform sys/tg_test/1/short_scalar`
- [ ] Test to drag and drop of this attribute onto the same form many times (4 times)
(If it crashes, you are seeing bug #96)
- [ ] Open "Modify Contents" and add sys/tg_test/1 and all of its attributes. They should all show ok
- [ ] Test the compact mode (switch to compact, noncompact; edit when in compact mode, ...) for a single
value (from the context menu of a value label)
- [ ] Test compact mode for all values (from the context menu of the whole form)
- [ ] Test changing labels
- [ ] Test re-order of values with "Modify contents"
- [ ] Test the different "show" buttons (tables, images, spectra)
- [ ] Change the write widget of double_scalar by a TaurusWheelEdit
- [ ] Change other read and write widgets
- [ ] ... other features from [user's guide](http://taurus-scada.org/en/latest/users/ui/index.html)

### taurusgui
(basically try all features described in the [user's guide](http://taurus-scada.org/en/latest/users/ui/index.html)

- [ ] Launch `taurusgui example01`
- [ ] Test (un)lock view
- [ ] Create a new panel (a TaurusForm) and drag and drop several models from other forms
- [ ] Move panels around (with view unlocked!) and hide ("close") and re-show them
- [ ] Test saving and restoring perspectives
- [ ] Test drag&drop from a form to a trend
- [ ] Test drag&drop from a form to a trend
- [ ] Test clicking on "example01 synoptic" elements and check that the panels raised
- [ ] Test that selecting a panel changes the selection on "example01 synoptic"
- [ ] Test the actions in the menus
- [ ] Create a new TaurusGui (call it `foogui`) with `taurusgui --new-gui` (follow the wizard)
- [ ] Install `foogui` with pip (using a virtualenv may be a good idea)
- [ ] launch `foogui` using the script that has been installed
- [ ] ... other features from [user's guide](http://taurus-scada.org/en/latest/users/ui/index.html)


### taurusconfigbrowser
- [ ] Open an ini file with taurusconfigbrowser and check that it is loaded correctly.

### taurusiconcatalog
- [ ] Launch `taurusiconcatalog`. Several tabs with an array of icons [should be displayed](http://taurus-scada.org/en/latest/devel/icon_guide.html#taurus-icon-catalog)
- [ ] Check that tooltips give info on each icon
- [ ] Click on some icons and check that they give a bigger view of the icon and more info.
7 changes: 4 additions & 3 deletions doc/man/taurusconfigbrowser.1
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4.
.TH TAURUSCONFIGEDITOR "1" "July 2016" "taurusconfigeditor 4.0.1" "User Commands"
.TH TAURUSCONFIGEDITOR "1" "July 2017" "taurusconfigeditor 4.1.0" "User Commands"
.SH NAME
taurusconfigeditor \- manual page for taurusconfigeditor 4.0.1
taurusconfigeditor \- manual page for taurusconfigeditor 4.1.0
.SH SYNOPSIS
.B taurusconfigbrowser
[\fI\,options\/\fR] [\fI\,INIFILENAME\/\fR]
Expand Down Expand Up @@ -32,7 +32,8 @@ taurus serialization mode. Allowed values are (case
insensitive): serial, concurrent (default)
.TP
\fB\-\-tango\-host\fR=\fI\,TANGO_HOST\/\fR
Tango host name
Tango host name (either HOST:PORT or a Taurus URI,
e.g. tango://foo:1234)
.TP
\fB\-\-remote\-console\-port\fR=\fI\,PORT\/\fR
enables remote debugging using the given port
Loading

0 comments on commit 28ffd9f

Please sign in to comment.