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

Release jul20 #1127

Merged
merged 442 commits into from
Aug 7, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
442 commits
Select commit Hold shift + click to select a range
5e32a69
Refactor showFormatterDlg
Feb 20, 2020
2e75b65
Merge branch 'develop' into formatter_plugin
Feb 20, 2020
3b7ca66
Do not sort known formatters
Feb 20, 2020
cf9be81
Deprecate showFormatterDlg
Feb 21, 2020
77c2f64
Allow to customizer Worker for ThreadPool
reszelaz Feb 25, 2020
f41aef3
Add unit test for bug #1077
Feb 26, 2020
82050ec
Add dummy JDBar support in TaurusJDrawGraphicsFactory
Feb 25, 2020
0d90fa1
Avoid using deprecated TaurusValue.value
Feb 26, 2020
13e3620
Update CHANGELOG.md
Feb 26, 2020
ad22832
Merge pull request #1081 from reszelaz/worker_cls
Feb 27, 2020
7f13696
Merge branch 'develop' into 3to4fixes
Feb 27, 2020
3e3ed96
Merge pull request #1072 from cmft/fix-1071
Feb 27, 2020
e399229
Merge pull request #1058 from cmft/fix_set_precision
Feb 27, 2020
accdea2
Fix bug introduced in last refactoring
Feb 27, 2020
ed7d578
Merge branch 'develop' into formmatter_plugin
Feb 27, 2020
a00959a
Merge pull request #1039 from cmft/formmatter_plugin
Feb 27, 2020
4d850cf
Merge pull request #1059 from cpascual/3to4fixes
Feb 28, 2020
a91199b
Merge branch 'develop' into extra_config_options
Feb 28, 2020
5e7b5fe
Revert unwanted change that made custom panels not modifiable
Feb 28, 2020
cc92601
Do not show a blocking dialog when in safe mode
Feb 28, 2020
6a1ecf6
Add unit test for the TaurusPanel creation
Feb 28, 2020
f4c813d
m, refactor code for clarity
Feb 28, 2020
efc54d7
m, PEP8
Feb 28, 2020
839b3e9
Merge branch 'develop' into extra_config_options
stanislaw55 Mar 2, 2020
ee33cab
Merge branch 'develop' into extra_config_options
stanislaw55 Mar 2, 2020
7346fba
Merge branch 'extra_config_options' into extra_config_options
stanislaw55 Mar 2, 2020
6e6d956
Merge pull request #3 from cpascual/extra_config_options
stanislaw55 Mar 2, 2020
34f4a61
Merge branch 'develop' into common_cli_options
stanislaw55 Mar 2, 2020
c2bc867
Add missing import
stanislaw55 Mar 2, 2020
bd362ec
Move options from taurus_cmd to cli.common
stanislaw55 Mar 2, 2020
d10c7f6
Formatting
stanislaw55 Mar 2, 2020
7111303
Add docstring with examples
stanislaw55 Mar 2, 2020
d6ddeb1
Make sure the tooltip can be generated despite DevFail
vallsv Mar 2, 2020
ad99847
Merge pull request #1087 from vallsv/supports-devfail-in-tooltip
Mar 3, 2020
10a452a
Merge pull request #940 from synchrotron-solaris/extra_config_options
Mar 3, 2020
68dbb38
Issue an error when cmd_line_parser arg is of an unsupported type
Mar 4, 2020
cf0d92e
Implicit optparse legacy support:
Mar 4, 2020
b054bf9
Merge pull request #1082 from cpascual/bug1077
reszelaz Mar 4, 2020
79f978a
Fix typos in documentation
stanislaw55 Mar 5, 2020
836bfd7
Use predominant import style
stanislaw55 Mar 5, 2020
85bb39f
Revert making log_port and log_name common CLI flags
stanislaw55 Mar 5, 2020
6027b2c
Revert making x_axis_mode common CLI flag
stanislaw55 Mar 5, 2020
5504426
Revert buffer common CLI flag
stanislaw55 Mar 5, 2020
975dc7f
Fix formatting and order of arguments
stanislaw55 Mar 5, 2020
470519b
Add LazyModule for lazy import of plugins
stanislaw55 Mar 5, 2020
e886e32
Fix typo
stanislaw55 Mar 5, 2020
47e8c8e
Try to fix improt issues
stanislaw55 Mar 5, 2020
25ad094
Capitalize first letter of log level to avoid clashing with log funct…
stanislaw55 Mar 5, 2020
cc3e8a2
Reduce number of rasied deprecation warnings
stanislaw55 Mar 5, 2020
8627e16
Update log_level common CLI flag
stanislaw55 Mar 5, 2020
9219ec6
Fix typo in docs
stanislaw55 Mar 5, 2020
ed39a3f
Capitalize first letter of help mesages
stanislaw55 Mar 5, 2020
2136a86
Fix window name
stanislaw55 Mar 5, 2020
5930f9d
Fix window name
stanislaw55 Mar 5, 2020
0544702
Avoid circullar import
stanislaw55 Mar 5, 2020
044866e
Add missing capitalization
stanislaw55 Mar 5, 2020
43989ec
Import required sys module just for short moment
stanislaw55 Mar 6, 2020
3893ef4
Catch and report errors when actually loading plugin
stanislaw55 Mar 9, 2020
ec556c9
Merge pull request #1085 from synchrotron-solaris/common_cli_options
Mar 9, 2020
c33eeb4
Add special module for LazyModule
stanislaw55 Mar 10, 2020
1bf8b89
Use LazyModule from taurus.core.util.lazymodule
stanislaw55 Mar 10, 2020
8c45f00
Improve log message
stanislaw55 Mar 10, 2020
4906c13
Merge pull request #1089 from cpascual/cmd_line_parser
reszelaz Mar 10, 2020
ac25b32
Update conda environment instructions
Mar 23, 2020
0a713de
(d) Update dependency links
Mar 23, 2020
86d28bd
m, doc, Adapt doc to python3
Mar 30, 2020
7ab2044
Fix #1097: Tango extension image devices resubscribe at every frame
tiagocoutinho Apr 3, 2020
ef041bf
Merge pull request #1098 from tiagocoutinho/issue-1097
Apr 7, 2020
8d7252b
Catch RuntimeError in tauruscombobox postDetach
MikeFalowski Apr 14, 2020
61aea7a
m, Add PySide info in comment
Apr 14, 2020
62b97c0
Merge pull request #1102 from MikeFalowski/patch-1
Apr 14, 2020
2c3ca74
m, doc, Support MacOSX in getting started
Apr 27, 2020
f2ec105
Merge branch 'lazy_plugin_import' of https://github.com/synchrotron-s…
May 7, 2020
1aa1063
Improve lazymodule
May 7, 2020
965740d
(WIP) Add unit test for lazymodule
May 7, 2020
435b6a4
Finish working version of test_lazymodule
May 7, 2020
101716f
Update CHANGELOG
May 7, 2020
4fbe62e
Merge branch 'lazy_plugin_import' into develop
May 7, 2020
4112f09
Add expiration_period arg to TangoAttribute.read()
reszelaz May 7, 2020
3804fce
Update docs of TangoAttribute.read()
reszelaz May 7, 2020
c4476f2
Pass expiration period with cache arg
reszelaz May 11, 2020
77f0cab
(doc) Improve docstring of read()
May 11, 2020
c7e713e
Replace customWidgetMap API with plugin
May 12, 2020
438d122
rename deprecated variable as internal
May 12, 2020
28209bb
Update CHANGELOG.md
May 12, 2020
c81a48c
Use unique docker-compose project names per build
May 13, 2020
94de61e
Add docker-compose dir from ska-docker
May 13, 2020
50a7dcc
Map databaseds port 10000 to host port 10000
May 13, 2020
3cae5ad
make Makefile aware of Travis job id
May 13, 2020
4b1c8d0
Switch to SKA's tango docker images for CI
May 13, 2020
4b5c81f
Remove unneeded docker-compose configs
May 13, 2020
2969fe4
Fix typo in travis.yml
May 13, 2020
2cf274e
Avoid using tango for TaurusValueTest.test_texts
May 14, 2020
548bfcc
Allow failures in py2 tests
May 14, 2020
7712f37
Remove old docker-compose config
May 14, 2020
78b2495
Update Changelog
May 14, 2020
b17a994
Refactor form item factories API
May 15, 2020
c44a530
m, Add missing license to lazymodule.py
May 15, 2020
4362de3
Refactor the item factories API (again)
May 15, 2020
59028be
Add unit test for selectEntryPoints
May 15, 2020
695da9c
Add tests for TaurusForm's itemFactory
May 15, 2020
8e6d92a
Make selectItemFactories return the selection
May 15, 2020
95ea960
Fix bug in TaurusForm.fillWithChildren
May 15, 2020
9c31f0d
Merge pull request #1109 from cpascual/ci_network
May 18, 2020
87daac9
Merge branch 'develop' into plugin_cwmap
May 18, 2020
2978e33
Merge branch 'develop' into add_expiration_period
May 18, 2020
9cb669a
Require full match for patterns in selectEntryPoints
May 18, 2020
153bcd1
Use unique name for plugin test
May 18, 2020
07235d9
m, doc, Fix typo in docstring
May 18, 2020
6d01bd8
m, doc, Fix typo in docstring
May 18, 2020
89219e4
Merge pull request #1105 from reszelaz/add_expiration_period
May 18, 2020
5f1c657
Allow any case in CLI --log option
May 18, 2020
e43b20c
m, doc, Fix typo in docstring
May 18, 2020
db4c887
m, doc, Fix typo in docstring
May 18, 2020
d9464af
Support arbitrary objects in selectEntryPoints
May 18, 2020
5490e4e
Replace selectItemFactories by setItemFactories
May 18, 2020
cee9c66
Use full match for exclude patterns in selectEntryPoints
May 19, 2020
6c1a6e7
Add return_excluded arg to getItemFactories
May 19, 2020
2f04248
Add item factories related options to CLI
May 19, 2020
4d436da
Add config for default item factory selection
May 19, 2020
040c817
Clean unneeded imports
May 19, 2020
448bc2c
m, replace doc references to "TaurusValue factories"
May 19, 2020
23e011f
Fix copy-paste error in setItemFactories
May 19, 2020
fdccff7
Simplify custom widget bck-compat
May 19, 2020
ccd36c1
Deprecate {re,}setFormWidget()
May 20, 2020
6da501c
Protect against bad item factories
May 20, 2020
06a2bf8
m, doc Update TaurusForm Docstring
May 20, 2020
d3cda4a
Deprecate TaurusGui.{g,s}etCustomWidgetMap
May 20, 2020
c80f6f3
Deprecate TaurusValue Custom Widget API
May 20, 2020
4b5de67
Support click 6.6
May 20, 2020
12377df
Rename item facories entry point group
May 20, 2020
3b27515
Quarantine py35-qt5 tests (WORKAROUND!)
May 20, 2020
f2792e1
Avoid addCustomWidgetToLayout calls
May 20, 2020
76ff03e
Merge pull request #1112 from cpascual/cli_log
reszelaz May 22, 2020
94e996d
m, doc
May 25, 2020
a72b4c7
m, doc
May 25, 2020
989d10e
Merge pull request #1108 from cpascual/plugin_cwmap
May 25, 2020
0be8624
Add taurus_test_ds pytest fixture
May 21, 2020
806cb0f
Add taurus_widget_set_models generic test
May 21, 2020
5651212
Add check_taurus_deprecations CM
May 25, 2020
6635f94
[TEMPORARY] Disable of some test for debugging
May 27, 2020
0679773
Disable newly added pytest tests
May 27, 2020
bfc8305
Add pytest-qt to tox.ini dependencies
May 27, 2020
17d7e6e
Refactor and re-enable test_form_itemFactory
May 27, 2020
4579516
Refactor and re-enable remaining form tests
May 27, 2020
26de611
set model to None as a tear down
May 27, 2020
f619202
TEMPORARY Add debugging prints
May 27, 2020
718b2a7
TEMPORARY Disable ouput capture in tests
May 27, 2020
abdf6ee
TEMPORARY: move debug print
May 27, 2020
ab6888b
Use pytango >= 9.3 for all tox targets
Jun 2, 2020
ef444c5
re-enable some travis targets
Jun 3, 2020
26a3102
Revert "TEMPORARY: move debug print"
Jun 3, 2020
f96c18b
Revert "TEMPORARY Add debugging prints"
Jun 3, 2020
48b8402
Refactor TaurusCombobox tests
Jun 2, 2020
b5fdc75
Try fixing failure in combobox test
Jun 2, 2020
b2524c2
Fix failures in py37-pyside2 tests
Jun 2, 2020
2de66a2
Refactor test_jdraw_parser
Jun 3, 2020
8efbe87
Implement safer pyqtProperty for PySide
Jun 3, 2020
9685e47
re-enable doc travis target
Jun 3, 2020
3024abc
re-enable output capturing in pytest
Jun 3, 2020
14d94b8
Do not assume TaurusApplication in taurusgui.py
Jun 3, 2020
ae18436
Register gui widget in test_paneldescription
Jun 3, 2020
a2af7bc
Replace TimeOut DS by TangoSchemeTest DS
Jun 4, 2020
7108c79
Refactor TaurusCommandButton tests
Jun 4, 2020
66f196a
Add generic widget tests file
Jun 8, 2020
e48a2d9
Protect TaurusLabel against issues with state
Jun 8, 2020
c7bb818
Refactor TaurusLabel tests
Jun 8, 2020
ecd7e1f
Use own mirror for docker images
Jun 9, 2020
180b2f4
Workaround: Fix pyvirtualdisplay version in tox
Jun 9, 2020
6e0acf2
Refactor taurusbase tests
Jun 9, 2020
e6f466f
Refactor ui tests
Jun 9, 2020
147bb03
Refactor taurusvalue tests
Jun 10, 2020
4f0a771
Fix typo in pytest skipif marks
Jun 10, 2020
b38f616
Deprecate {Base,Generic}WidgetTestCase
Jun 10, 2020
23ec894
Remove left usages of taurus.qt.qtgui.test.base
Jun 10, 2020
dcb6831
Update label controller on format reset
Jun 10, 2020
611fa16
Correct deprecation check for label test
Jun 10, 2020
8a129bd
Fix fuzziness in test_class_format
Jun 10, 2020
e71762a
Workaround: Allow fails in depr tests for PySide2
Jun 11, 2020
4addee3
Workaround: improper isolation on label tests
Jun 11, 2020
1d44c7a
Avoid invalid escape sequence warnings
Jun 2, 2020
46ddb2c
replace Thread.isAlive --> is_alive
Jun 2, 2020
b5173ad
Use collections.abc for ABCs
Jun 2, 2020
964b18f
Avoid using deprecated logging.warn
Jun 3, 2020
6cb42ff
Avoid file not closed warning
Jun 3, 2020
4aaf110
Avoid warning in write_read_attribute tests
Jun 12, 2020
5bc24ad
Use numpy.frombuffer instead of numpy.fromstring
Jun 12, 2020
66e4d32
Add pytest.ini to consider warnings as errors
Jun 11, 2020
e3c9050
Merge pull request #1114 from cpascual/fix_test_py3qt5
tiagocoutinho Jun 17, 2020
6492eb2
Update CHANGELOG.md
Jun 18, 2020
e1b110e
LineEdit: enforce explicit disable
Jun 22, 2020
309b040
Merge pull request #1117 from cpascual/taurusLE-disable
teresanunez Jun 23, 2020
616d4b6
Support py2 in selectEntryPoints
Jun 23, 2020
fc6dd3e
Add plot subcommand
Jun 23, 2020
20b5541
Register qwt5 as an alternative for TaurusPlot
Jun 23, 2020
0723bf8
Add __init__.py to test dir
Jun 23, 2020
80d818b
rename set_x_axis_mode to setXAxisMode
Jun 25, 2020
d400633
group plot_cmd option tests
Jun 25, 2020
12df57c
Add taurus trend subcommand
Jun 25, 2020
4345f1a
Add trend2d subcommand
Jun 25, 2020
39da949
Add image subcommand
Jun 25, 2020
f9536f2
Blackify the cli submodule
Jun 25, 2020
e6f4846
Redirect guiqwt and its subcommands
Jun 25, 2020
2e3e165
Deprecate qwt5 subcommand
Jun 25, 2020
8c3c6de
Add *_ALT options in tauruscustomsettings
Jun 29, 2020
4c7fe3f
Rename private entry point group name
Jun 29, 2020
4b04590
Add stub of docs for plugins.rst
Jun 29, 2020
f891fc0
Document taurus.cli
Jun 29, 2020
cf0ca0e
Document expected API for alt widgets
Jun 30, 2020
aed1920
Update CHANGELOG.md
Jun 30, 2020
e00f1af
m, Fix doc format issue
Jun 30, 2020
7820b63
m, Fix doc format issue
Jun 30, 2020
99c1fd1
Give priority to cpascual channel in tox.ini
Jul 1, 2020
04692b5
Refactor selection of Qt binding (prefer pyqt5)
Jul 2, 2020
d6c5ae2
Add unittests for taurus.external.qt
Jul 3, 2020
874b78b
Add pytest-forked to tox.ini dependencies
Jul 3, 2020
e772816
Remove __init__.py from resource dir
Jul 3, 2020
598f7e9
m, doc
Jul 3, 2020
cb9f44f
Temporarily "unimport" taurus.external.qt before test
Jul 3, 2020
2e00d9a
Blackify newly-created files
Jul 3, 2020
4d0ecdb
Test with pre-imported binding
Jul 6, 2020
4754101
Add test with imported QtCore
Jul 6, 2020
62b828a
Fix #1113 (TangoAttribute not reenabling polling)
Jul 6, 2020
191f3e0
Allow tango not to auto-subscribe to conf events
Jul 10, 2020
5d141f0
Add len support to taurus enumeration
Jul 13, 2020
bbf79ed
Merge pull request #1125 from cpascual/opt_cfg_subs
Jul 14, 2020
264c17e
Merge pull request #1121 from cpascual/qt5default
Jul 14, 2020
cc240f0
Merge pull request #1122 from cpascual/fix-1113
Jul 14, 2020
ce1870d
Merge pull request #1126 from cpascual/tguiedit
Jul 14, 2020
5e43a3a
Merge pull request #1120 from cpascual/alt_cmd
Jul 14, 2020
6775d67
Bump version 4.6.5-alpha to 4.7.0-alpha
Jul 14, 2020
5022898
Update CHANGELOG (complete revision until date)
Jul 14, 2020
7135509
Declare support for Py 3.6 and py3.7 in pypi classifiers
Jul 14, 2020
356f9ab
Update how_to_release manual test checklist
Jul 14, 2020
a2cdbdd
Update how_to_release.md
Jul 14, 2020
9b87dcf
taurus trend2d CLI: replace -xn by -xe option
Jul 14, 2020
fb2b565
Update manual tests checklist
Jul 15, 2020
dcc8d24
Update manual tests checklist
Jul 15, 2020
f7af362
Allow "n" (="e") in trend2d x_axis_mode
Jul 15, 2020
7650e00
Update how_to_release.md
Aug 4, 2020
8eb2129
Update how_to_release.md
Aug 4, 2020
583fc4f
Use .tobytes() instead of deprecated .tostring()
Aug 4, 2020
efc9bb4
Fix '--config' option in plot and trend commands
Aug 5, 2020
deee234
Add conda recipe
Aug 6, 2020
1ae6f33
Add python_requires in setup.py
Aug 6, 2020
cc4771f
Clean and modernize setup.py
Aug 6, 2020
78fcb09
Fix problem with pathlib in py35
Aug 6, 2020
6a22ceb
Add automated conda build and deployment on releases
Aug 7, 2020
bb61daf
Update CHANGELOG for releasing 4.7.0
Aug 7, 2020
42fbf7d
Bump version 4.7.0-alpha to 4.7.0
Aug 7, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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.6.1
current_version = 4.7.0
parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)(\-(?P<release>[a-z]+))?
serialize =
{major}.{minor}.{patch}-{release}
Expand Down
21 changes: 21 additions & 0 deletions .github/workflows/publish_conda.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: publish_conda

on:
release:
types: [published]
workflow_dispatch:
push:
tags:
- '[0-9]+.[0-9]+.[0-9]+*'

jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: publish-to-conda
uses: taurus-org/publish-conda-action@v2
with:
subdir: 'conda'
anacondatoken: ${{ secrets.ANACONDA_TOKEN }}
platforms: 'noarch'
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@ MANIFEST
/setup.cfg
doc/~thumbnails.zip
/lib/taurus.egg-info
/.tox/
8 changes: 8 additions & 0 deletions .gitlab-ci-alba.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# ---------------------------------------------------------
# Use this as the ".gitlab-ci.yml" in your project root dir
# to activate the ctpipeline
# ---------------------------------------------------------

include:
- https://git.cells.es/ctpkg/ci/ctpipeline/raw/master/ctjobdefs-ci.yml
- https://git.cells.es/ctpkg/ci/ctpipeline/raw/master/ctpipeline.yml
69 changes: 43 additions & 26 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,49 +1,69 @@
# Use old ubuntu image as a workarount to Tango DS launch problems
group: deprecated-2017Q4

language: python

python:
- 3.6

sudo: required

services:
- docker
- xvfb

env:
global:
- secure: "CCVtBQ8xIrOwUJGXxd81wyD1ng72Hf6d9y2U+5X88aVGTrOa8/hut10C+Jmnyf0NTZmGh/49eVvoWRvLDhjpECFMuO/bLkiNtVjz0VtWAHT2W98QJYmeymPzx86tGa+iAZCwlgXeRQFJCw1eqQvBYnjumMZWb9kj3fqgpqpSRH5SWnuRCmbxOoelmtTTUC8YKkzasAHYs03faR0DCq0oBmDy9nU2cfcRN7oE5wXUfEnDwNaoHbiQA4wiJbzNpBV432bIDtzD7gsFdiIT6ExJVFHi1gWB32bGZdbiDPpej7I2fW5qunbzUXS5doVhoBU67qqhI241RJ+AOBVb+sQnF8gwwi9/5/mcORiSBX7yI59YsOXYwo2YW+8PGr3OlF3t0+z92Q3uPytUXysdtVO4dExnLbV8OEzgmWCkv2M3GIajjE3isYAaBItqSBJHJnRClza4nNg2WLwmqLPBgM4AuSUZEpB/8kbz9kTecVEb13WrlTCNc8KVRGR+EGa4KmWADwOOxurxeb/NsTteOnzdyfrP2TXKeGOkN2uqBGYJaI7OoefsgLG7VF/+Sz4MTETMs/gZojwpO6igKBS1sJlcXujz/kt125b8gcSnrAiU1TjbZIBew/D40H64tpBcuk+dqF6i6HCoV2QmZ1QEpHOSoDk9FEaKMlgKhQj59/cWcI8="

matrix:
- DOCKER_IMG=cpascual/taurus-test:debian-stretch
- DOCKER_IMG=cpascual/taurus-test:debian-buster
- DOCKER_IMG=cpascual/taurus-test:debian-stretch-py3
- DOCKER_IMG=cpascual/taurus-test:debian-stretch-py3qt5

matrix:
allow_failures:
- env: DOCKER_IMG=cpascual/taurus-test:debian-stretch-py3
include:
#- env: TOXENV=flake8
#- env: TOXENV=py27-qt4
#- env: TOXENV=py27-qt5
- env: TOXENV=py35-qt5
- env: TOXENV=py36-qt5
- env: TOXENV=py37-qt5
- env: TOXENV=py37-ps2
- env: TOXENV=py37-qt5-docs
allow_failures:
#- env: TOXENV=flake8
#- env: TOXENV=py27-qt4
#- env: TOXENV=py27-qt5
#- env: TOXENV=py35-qt5

before_install:
- docker run -d --name=taurus-test -h taurus-test --volume=`pwd`:/taurus $DOCKER_IMG
- sleep 10

# install conda
- wget -nv https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh;
- bash miniconda.sh -b -p $HOME/miniconda
- export PATH="$HOME/miniconda/bin:$PATH"
- hash -r
- conda config --set always_yes yes --set changeps1 no
- conda update -q conda
- conda info -a

# start a docker-based tango system with tango-test
- if [[ "$TOXENV" == "flake8" ]]; then
echo "Skipping tango initialization";
else
make -C ci/docker-compose start tangotest;
echo 'TANGO_HOST=localhost:10000' >> $HOME/.tangorc;
fi

install:
- pip install -U tox tox-conda

script:
- python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)"
- set -e
- docker exec -t taurus-test /bin/bash -c "cd /taurus ; python setup.py install"
- docker exec -t taurus-test /bin/bash -c "TAURUS_STARTER_WAIT=5 taurus testsuite -e 'taurus\.core\.util\.test\.test_timer'"
- docker exec -t taurus-test /bin/bash -c "cd /taurus ; sphinx-build -qW doc/source/ build/sphinx/html"
# deploy sphinx-built docs to taurus-doc repo
- if [[ "$DOCKER_IMG" == "cpascual/taurus-test:debian-stretch" && "$TRAVIS_REPO_SLUG" == "taurus-org/taurus" ]]; then
- tox

after_success:
# Deploy docs to taurus-org/taurus-doc
- if [[ "$TOXENV" == "py37-qt5-docs" && "$TRAVIS_REPO_SLUG" == "taurus-org/taurus" ]]; then
pip install doctr ;
docker exec taurus-test /bin/bash -c "touch /taurus/build/sphinx/html/.nojekyll" ;
touch build/sphinx/html/.nojekyll;
if [[ "${TRAVIS_BRANCH}" == "develop" ]]; then
doctr deploy . ;
else
doctr deploy "v-$TRAVIS_BRANCH" ;
fi;
else
echo "Skip doc deployment for $TOXENV in $TRAVIS_REPO_SLUG";
fi

doctr:
Expand All @@ -53,9 +73,6 @@ doctr:
sync: true
built-docs: build/sphinx/html/

before_deploy:
- docker exec -t taurus-test /bin/bash -c "cd /taurus ; python setup.py sdist"

deploy:
# deploy to pypi when a version tag is pushed to the official repo
- provider: pypi
Expand Down
70 changes: 68 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,73 @@ 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.

## [4.6.1] - 2019-08-19

## [4.7.0] - 2020-08-07
[Jul20 milestone](https://github.com/taurus-org/taurus/milestone/15)

### Added
- `plot`, `trend`, `trend2d`, `image` first-level taurus subcommands (#1120)
- `"taurus.*.alt"` entry-point groups for registering alternative
implementations of `plot`, `trend`, `trend2d`, `image` (#1120)
- check-deps subcommand (#988)
- `taurus.cli.register_subcommands()` and `taurus.cli.taurus_cmd()` (#991)
- Support for `ºC` as degree celsius in units (#1033)
- Support for spyder v4 in `taurus.qt.qtgui.editor` (#1038)
- Entry-point ("taurus.qt.formatters") for registering formatters via plugins (#1039)
- New `worker_cls` argument for `taurus.core.util.ThreadPool` costructor (#1081)
- `taurus.core.util.lazymodule` for delayed entry-point loading of modules (#1090)
- `"taurus.form.item_factories"` entry-point group (#1108)
- `tauruscustomsettings.TANGO_AUTOSUBSCRIBE_CONF` to allow skipping of config
event subscription by `TangoAttribute`
- Official taurus packages are now automatically published in the taurus-org
Anaconda channel

### Changed
- Improved Qt binding selection mechanism (and prioritize PyQt5 over PyQt4) (#1121)
- Qt theme no longer set to TangoIcons by default (for coherence with docs) (#1012)
- Improved Configuration options for TaurusGui (#940)
- Passing `cmd_line_parser=None` to TaurusApplication is no longer required (#1089)
- (for developers) Support of tox and change to pytest. More platforms
being now automatically tested by travis (#994)
- TaurusForm provides more debugging info when failing to handle a model (#1049)
- Improved GUI dialog for changing the formatter of a widget (#1039)
- Modules registered with `"taurus.qt.qtgui"` entry-point are now lazy-loaded (#1090)
- The control over which custom widgets are to be used in a TaurusForm is now
done by registering factories to `"taurus.form.item_factories"` entry-point (#1108)
- Allow case-insensitive values for the `taurus --log-level` option (#1112)
- Qt unit tests reimplemented using pytest-qt (#1114)
- `"'taurus.qt.qtgui.panel.TaurusModelSelector.items"` entry-point group
renamed to `"taurus.model_selector.items"`
- Added support for 3rd party widgets in TaurusValue config settings (#1066)
- Improved documentation (#1044, #1056, #1059, #1120)

### Deprecated
- `qwt5` and `guiqwt` CLI subcommands (#1120)
- `TaurusBaseWidget.showFormatterDlg()` (#1039)
- Custom widget API in TaurusForm, TaurusValue and TaurusGui (#1108)
- `tauruscustomsettings.T_FORM_CUSTOM_WIDGET_MAP` (#1108)
- `BaseWidgetTestCase` and `GenericWidgetTestCase` (#1114)
- `TimeOut` Device Server (#1114)

### Fixed
- Several issues in TaurusWheelEdit (#1010, #1021)
- Several issues affecting synoptics (#1005, #1029, #1082)
- Issues with TaurusValueComboBox (#1102, #1032)
- Issues with TaurusValueLineEdit (#1072)
- TaurusValueLineEdit could not be enabled (#1117)
- Support dns aliases for the authority name in tango model names (#998)
- Py3 exception in `TaurusModelChooser.getListedModels()` (#1008)
- Thread safety issues in `TaurusPollingTimer`'s add/remove attributes API (#1002)
- Problem preventing editing existing GUIs with Taurus New Gui wizard (#1126)
- (for py2) Improved backwards compatibility of `taurus.qt.qtgui.plot` (#1027)
- Issues with events and subscriptions in Tango (#1030, #1061, #1113)
- Compatibility issue in deprecated TangoAttribute's `isScalar()` and `isSpectrum()` (#1034)
- Tooltip issues in case of device connection problems (#1087)
- Some issues in taurus v3 to v4 migration support (#1059)
- Some CI test issues (#1042, #1069, #1073, #1075, #1109, #1114)


## 4.6.1 - 2019-08-19
Hotfix for auto-deployment in PyPI with Travis. No other difference from 4.6.0.

### Fixed
Expand Down Expand Up @@ -471,7 +537,7 @@ and several other places](https://sf.net/p/tauruslib/tickets/milestone/Jul15/)
[TEP14]: http://www.taurus-scada.org/tep/?TEP14.md
[TEP15]: http://www.taurus-scada.org/tep/?TEP15.md
[Unreleased]: https://github.com/taurus-org/taurus/tree/develop
[4.6.1]: https://github.com/taurus-org/taurus/tree/release-4.6.1
[4.7.0]: https://github.com/taurus-org/taurus/tree/release-4.7.0
[4.6.0]: https://github.com/taurus-org/taurus/tree/release-4.6.0
[4.5.1]: https://github.com/taurus-org/taurus/tree/release-4.5.1
[4.5.0]: https://github.com/taurus-org/taurus/tree/release-4.5.0
Expand Down
5 changes: 5 additions & 0 deletions ci/docker-compose/.env
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#DOCKER_REGISTRY_HOST=nexus.engageska-portugal.pt
#DOCKER_REGISTRY_USER=ska-docker
DOCKER_REGISTRY_HOST=registry.hub.docker.com
DOCKER_REGISTRY_USER=cpascual

123 changes: 123 additions & 0 deletions ci/docker-compose/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
# Set dir of Makefile to a variable to use later
MAKEPATH := $(abspath $(lastword $(MAKEFILE_LIST)))
BASEDIR := $(notdir $(patsubst %/,%,$(dir $(MAKEPATH))))

COMPOSE_FILES := $(wildcard *.yml)
COMPOSE_FILE_ARGS := $(foreach yml,$(COMPOSE_FILES),-f $(yml))

ATTACH_COMPOSE_FILE_ARGS := $(foreach yml,$(filter-out tango.yml,$(COMPOSE_FILES)),-f $(yml))

# If the first make argument is "start" or "stop"...
ifeq (start,$(firstword $(MAKECMDGOALS)))
SERVICE_TARGET = true
else ifeq (stop,$(firstword $(MAKECMDGOALS)))
SERVICE_TARGET = true
else ifeq (attach,$(firstword $(MAKECMDGOALS)))
SERVICE_TARGET = true
ifndef NETWORK_MODE
$(error NETWORK_MODE must specify the network to attach to, e.g., make NETWORK_MODE=tangonet-powersupply ...)
endif
ifndef TANGO_HOST
$(error TANGO_HOST must specify the Tango database device, e.g., make TANGO_HOST=powersupply-databaseds:100000 ...)
endif
endif
ifdef SERVICE_TARGET
# .. then use the rest as arguments for the make target
SERVICE := $(wordlist 2,$(words $(MAKECMDGOALS)),$(MAKECMDGOALS))
# ...and turn them into do-nothing targets
$(eval $(SERVICE):;@:)
endif

#
# Never use the network=host mode when running CI jobs, and add extra
# distinguishing identifiers to the network name and container names to
# prevent collisions with jobs from the same project running at the same
# time.
#
CI_JOB_ID ?= $(TRAVIS_JOB_ID)
ifneq ($(CI_JOB_ID),)
NETWORK_MODE := tangonet-$(CI_JOB_ID)
CONTAINER_NAME_PREFIX := $(CI_JOB_ID)-
else
CONTAINER_NAME_PREFIX :=
$(info Network mode cannot be host for the archiver! It won't work unless you set the env var CI_JOB_ID=local)
endif

ifeq ($(OS),Windows_NT)
$(error Sorry, Windows is not supported yet)
else
UNAME_S := $(shell uname -s)
ifeq ($(UNAME_S),Linux)
DISPLAY ?= :0.0
NETWORK_MODE ?= host
XAUTHORITY_MOUNT := /tmp/.X11-unix:/tmp/.X11-unix
XAUTHORITY ?= /hosthome/.Xauthority
# /bin/sh (=dash) does not evaluate 'docker network' conditionals correctly
SHELL := /bin/bash
endif
ifeq ($(UNAME_S),Darwin)
IF_INTERFACE := $(shell scutil --nwi | grep 'Network interfaces:' | cut -d' ' -f3)
DISPLAY := $(shell scutil --nwi | grep 'address' | cut -d':' -f2 | tr -d ' ' | head -n1):0
# network_mode = host doesn't work on MacOS, so fix to the internal network
NETWORK_MODE ?= tangonet
XAUTHORITY_MOUNT := $(HOME)/.Xauthority:/hosthome/.Xauthority:ro
XAUTHORITY := /hosthome/.Xauthority
endif
endif

#
# When running in network=host mode, point devices at a port on the host
# machine rather than at the container.
#
ifeq ($(NETWORK_MODE),host)
TANGO_HOST := $(shell hostname):10000
MYSQL_HOST := $(shell hostname):3306
else
TANGO_HOST := $(CONTAINER_NAME_PREFIX)databaseds:10000
MYSQL_HOST := $(CONTAINER_NAME_PREFIX)tangodb:3306
endif

DOCKER_COMPOSE_ARGS := DISPLAY=$(DISPLAY) XAUTHORITY=$(XAUTHORITY) TANGO_HOST=$(TANGO_HOST) \
NETWORK_MODE=$(NETWORK_MODE) XAUTHORITY_MOUNT=$(XAUTHORITY_MOUNT) MYSQL_HOST=$(MYSQL_HOST) \
CONTAINER_NAME_PREFIX=$(CONTAINER_NAME_PREFIX) COMPOSE_IGNORE_ORPHANS=true


.PHONY: up down minimal start stop status clean pull help
.DEFAULT_GOAL := help

pull: ## pull the images from the Docker hub
$(DOCKER_COMPOSE_ARGS) docker-compose $(COMPOSE_FILE_ARGS) pull

up: minimal ## start the base TANGO system and prepare all services
$(DOCKER_COMPOSE_ARGS) docker-compose $(COMPOSE_FILE_ARGS) up --no-start

down: ## stop all services and tear down the system
$(DOCKER_COMPOSE_ARGS) docker-compose $(COMPOSE_FILE_ARGS) down
ifneq ($(NETWORK_MODE),host)
docker network inspect $(NETWORK_MODE) &> /dev/null && ([ $$? -eq 0 ] && docker network rm $(NETWORK_MODE)) || true
endif

minimal: ## start the base TANGO system
ifneq ($(NETWORK_MODE),host)
docker network inspect $(NETWORK_MODE) &> /dev/null || ([ $$? -ne 0 ] && docker network create $(NETWORK_MODE))
endif
$(DOCKER_COMPOSE_ARGS) docker-compose -f tango.yml up -d

start: up ## start a service (usage: make start <servicename>)
$(DOCKER_COMPOSE_ARGS) docker-compose $(COMPOSE_FILE_ARGS) start $(SERVICE)

stop: ## stop a service (usage: make stop <servicename>)
$(DOCKER_COMPOSE_ARGS) docker-compose $(COMPOSE_FILE_ARGS) stop $(SERVICE)

attach: ## attach a service to an existing Tango network
$(DOCKER_COMPOSE_ARGS) docker-compose $(ATTACH_COMPOSE_FILE_ARGS) up -d $(SERVICE)

status: ## show the container status
$(DOCKER_COMPOSE_ARGS) docker-compose $(COMPOSE_FILE_ARGS) ps

clean: down ## clear all TANGO database entries
docker volume rm $(BASEDIR)_tangodb

help: ## show this help.
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'

30 changes: 30 additions & 0 deletions ci/docker-compose/jive.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#
# Docker compose file that launches Jive, sending output to a remote X11
# display.
#
# Defines:
# - jive: container running Jive
#
# Requires:
# - tango.yml
#
version: '2'

services:
jive:
image: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}/tango-java:latest
container_name: ${CONTAINER_NAME_PREFIX}jive
network_mode: ${NETWORK_MODE}
volumes:
- ${XAUTHORITY_MOUNT}
environment:
- XAUTHORITY=${XAUTHORITY}
- DISPLAY=${DISPLAY}
- TANGO_HOST=${TANGO_HOST}
entrypoint:
- /usr/local/bin/wait-for-it.sh
- ${TANGO_HOST}
- --timeout=30
- --strict
- --
- /usr/local/bin/jive
Loading