diff --git a/anaconda-project.yml b/anaconda-project.yml index 7a30cf5..bedcb2d 100644 --- a/anaconda-project.yml +++ b/anaconda-project.yml @@ -71,11 +71,10 @@ env_specs: - ripgrep - robotframework - robotframework-seleniumlibrary >=4.1.0,<5 - - robotframework-seleniumtestability >=0.0.15,<1 _lab: packages: - - jupyterlab ==1.1.4 + - jupyterlab ==1.2.3 - nodejs >=11,<12 - python >=3.6,<3.7.0a0 diff --git a/azure-pipelines.yml b/azure-pipelines.yml index bdd63d3..f932f83 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -8,7 +8,7 @@ trigger: pr: [master] variables: - ROBOTLAB_VERSION: 2019.9.1 + ROBOTLAB_VERSION: 2019.12.0 PYTHONUNBUFFERED: 1 jobs: diff --git a/ci/env-lab.yml b/ci/env-lab.yml index 4c2b838..6131ce9 100644 --- a/ci/env-lab.yml +++ b/ci/env-lab.yml @@ -7,7 +7,7 @@ channels: dependencies: - black - flake8 - - jupyterlab ==1.1.4 + - jupyterlab ==1.2.3 - nodejs >=11,<12 - python >=3.6,<3.7.0a0 - python >=3.6,<3.7.0a0 diff --git a/ci/job.noarch.yml b/ci/job.noarch.yml index 19019de..dc21411 100644 --- a/ci/job.noarch.yml +++ b/ci/job.noarch.yml @@ -9,11 +9,12 @@ jobs: - script: |- python -m scripts.build conda \ --no-test \ + robotframework \ restinstance \ robotframework-jupyterlibrary \ robotframework-seleniumscreenshots \ - robotkernel \ - robotframework-ride + robotframework-seleniumtestability \ + robotkernel displayName: build noarch packages - task: PublishPipelineArtifact@0 diff --git a/environment.yml b/environment.yml index e1e50b1..76a2fa8 100644 --- a/environment.yml +++ b/environment.yml @@ -17,4 +17,3 @@ dependencies: - ripgrep - robotframework - robotframework-seleniumlibrary >=4.1.0,<5 - - robotframework-seleniumtestability >=0.0.15,<1 diff --git a/recipes/robotframework-seleniumtestability/meta.yaml b/recipes/robotframework-seleniumtestability/meta.yaml new file mode 100644 index 0000000..db5bfa7 --- /dev/null +++ b/recipes/robotframework-seleniumtestability/meta.yaml @@ -0,0 +1,42 @@ +{% set name = "robotframework-seleniumtestability" %} +{% set version = "0.0.15" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz + sha256: a49df9eb970f95794ab6af12b8a51312340d8349e7b92bf2b59021898b40e1c0 + +build: + number: 0 + noarch: python + script: + - {{ PYTHON }} -m pip install . --no-deps --ignore-installed -vvv + +requirements: + host: + - pip + - python + run: + - furl + - python + - robotframework-seleniumlibrary >=4.0.0 + - wrapt + +test: + imports: + - SeleniumTestability + - SeleniumTestability.javascript + - SeleniumTestability.listener + - SeleniumTestability.logger + - SeleniumTestability.plugin + - SeleniumTestability.types + +about: + home: https://github.com/rasjani/robotframework-seleniumtestability + license: Apache-2.0 + license_file: LICENSE + license_family: Apache + summary: Extension for SeleniumLibrary that provides manual and automatic waiting for asyncronous events like fetch, xhr, etc. diff --git a/recipes/robotframework/70af9e3bab0217b0450d78c69e6c2ccb8f9c342d.patch b/recipes/robotframework/70af9e3bab0217b0450d78c69e6c2ccb8f9c342d.patch new file mode 100644 index 0000000..ade585e --- /dev/null +++ b/recipes/robotframework/70af9e3bab0217b0450d78c69e6c2ccb8f9c342d.patch @@ -0,0 +1,222 @@ +From 70af9e3bab0217b0450d78c69e6c2ccb8f9c342d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Pekka=20Kl=C3=A4rck?= +Date: Tue, 22 Oct 2019 21:53:33 +0300 +Subject: [PATCH] Python 3.8 utest fixes: Consistent XML attributes order + +--- + utest/result/golden.xml | 24 ++++++------- + utest/result/goldenTwice.xml | 50 +++++++++++++-------------- + utest/result/test_resultserializer.py | 3 ++ + 3 files changed, 40 insertions(+), 37 deletions(-) + +diff --git a/utest/result/golden.xml b/utest/result/golden.xml +index 6703b889b..a8e0b706c 100644 +--- a/utest/result/golden.xml ++++ b/utest/result/golden.xml +@@ -1,9 +1,9 @@ + + +- +- ++ ++ + +- ++ + + + +@@ -11,8 +11,8 @@ + + Test 1 + +-Test 1 +- ++Test 1 ++ + + + +@@ -27,21 +27,21 @@ + Log on ${TEST NAME} + TRACE + +- ++ + +- ++ + + Test case documentation + + t1 + +- ++ + + Normal test cases + + My Value + +- ++ + + + +@@ -49,13 +49,13 @@ + All Tests + + +-t1 ++t1 + + +-Normal ++Normal + + + +- Error in file 'normal.html' in table 'Settings': Resource file 'nope' does not exist. ++ Error in file 'normal.html' in table 'Settings': Resource file 'nope' does not exist. + + +diff --git a/utest/result/goldenTwice.xml b/utest/result/goldenTwice.xml +index ea60eca81..b5f117079 100644 +--- a/utest/result/goldenTwice.xml ++++ b/utest/result/goldenTwice.xml +@@ -1,10 +1,10 @@ + + + +- +- ++ ++ + +- ++ + + + +@@ -12,8 +12,8 @@ + + Test 1 + +-Test 1 +- ++Test 1 ++ + + + +@@ -28,26 +28,26 @@ + Log on ${TEST NAME} + TRACE + +- ++ + +- ++ + + Test case documentation + + t1 + +- ++ + + Normal test cases + + My Value + +- ++ + +- +- ++ ++ + +- ++ + + + +@@ -55,8 +55,8 @@ + + Test 1 + +-Test 1 +- ++Test 1 ++ + + + +@@ -71,23 +71,23 @@ + Log on ${TEST NAME} + TRACE + +- ++ + +- ++ + + Test case documentation + + t1 + +- ++ + + Normal test cases + + My Value + +- ++ + +- ++ + + + +@@ -95,16 +95,16 @@ + All Tests + + +-t1 ++t1 + + +-Normal & Normal +-Normal & Normal.Normal +-Normal & Normal.Normal ++Normal & Normal ++Normal & Normal.Normal ++Normal & Normal.Normal + + + +-Error in file 'normal.html' in table 'Settings': Resource file 'nope' does not exist. +-Error in file 'normal.html' in table 'Settings': Resource file 'nope' does not exist. ++Error in file 'normal.html' in table 'Settings': Resource file 'nope' does not exist. ++Error in file 'normal.html' in table 'Settings': Resource file 'nope' does not exist. + + +diff --git a/utest/result/test_resultserializer.py b/utest/result/test_resultserializer.py +index e55679801..e310cf20f 100644 +--- a/utest/result/test_resultserializer.py ++++ b/utest/result/test_resultserializer.py +@@ -15,6 +15,9 @@ + + class StreamXmlWriter(XmlWriter): + ++ def _order_attrs(self, attrs): ++ return sorted(attrs) ++ + def _create_output(self, output): + return output + diff --git a/recipes/robotframework/meta.yaml b/recipes/robotframework/meta.yaml new file mode 100644 index 0000000..f4bc108 --- /dev/null +++ b/recipes/robotframework/meta.yaml @@ -0,0 +1,83 @@ +{% set name = "robotframework" %} +{% set version = "3.1.2" %} + +package: + name: {{ name }} + version: {{ version }} + +source: + - url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.zip + sha256: f10dd7c0c8c7962a4f80dd1e026b5db731b9391bc6e1f9ebb96d685eb1230dbc + folder: dist + - url: https://github.com/robotframework/robotframework/archive/v{{ version }}.tar.gz + sha256: 1a8769bc40d334814b3eeb1dc945624c292f210fb4f2ff033a21cba4e9360864 + folder: src + patches: + - 70af9e3bab0217b0450d78c69e6c2ccb8f9c342d.patch + + +build: + number: 0 + noarch: python + script: + - cd dist + - {{ PYTHON }} -m pip install . --no-deps --ignore-installed -vvv + entry_points: + - robot = robot.run:run_cli + - rebot = robot.rebot:rebot_cli + +requirements: + host: + - pip + - python + run: + - python + +test: + requires: + - docutils + - enum34 # [py<35] + - lxml + - pillow + - pygments + - pyyaml + source_files: + - src/utest + - src/atest + - src/README.rst + imports: + - robot + - robot.api + - robot.conf + - robot.htmldata + - robot.libdocpkg + - robot.libraries + - robot.model + - robot.output + - robot.output.console + - robot.parsing + - robot.reporting + - robot.result + - robot.running + - robot.running.arguments + - robot.running.timeouts + - robot.utils + - robot.variables + - robot.writer + commands: + - robot --version || [[ $? == 251 ]] # [unix] + - rebot --version || [[ $? == 251 ]] # [unix] + + +about: + home: http://robotframework.org + license: Apache-2.0 + license_file: dist/LICENSE.txt + summary: Generic automation framework for acceptance testing and RPA + doc_url: http://robotframework.org/robotframework/{{ version }}/RobotFrameworkUserGuide.html + dev_url: https://github.com/robotframework/robotframework + description: > + Robot Framework is a generic open source automation framework for acceptance + testing, acceptance test driven development (ATDD), and robotic process + automation (RPA). It has simple plain text syntax and it can be extended + easily with libraries implemented using Python or Java. diff --git a/recipes/robotframework/run_test.bat b/recipes/robotframework/run_test.bat new file mode 100644 index 0000000..fe1cec2 --- /dev/null +++ b/recipes/robotframework/run_test.bat @@ -0,0 +1,5 @@ +@ECHO ON +cd src\utest + +CALL python run.py || EXIT /B 1 +IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL% diff --git a/recipes/robotframework/run_test.sh b/recipes/robotframework/run_test.sh new file mode 100644 index 0000000..4884d23 --- /dev/null +++ b/recipes/robotframework/run_test.sh @@ -0,0 +1,4 @@ +#!/usr/bi/env bash +set -eux +cd src/utest +python run.py diff --git a/recipes/robotkernel/meta.yaml b/recipes/robotkernel/meta.yaml index 5ac6994..bfb0df8 100644 --- a/recipes/robotkernel/meta.yaml +++ b/recipes/robotkernel/meta.yaml @@ -1,10 +1,10 @@ package: name: '{% set name = "robotkernel" %}{{ name }}' - version: '{% set version = "1.0.1" %}{{ version }}' + version: '{% set version = "1.2" %}{{ version }}' source: url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: a725d18f1a5f5242192561453acc11466821671c383e808adb68661c4850a472 + sha256: a1501892e63e87ee87a1cfb742e112c7bf529d9441110dcf78d939ec89946589 build: noarch: python diff --git a/recipes/robotlab/meta.yaml b/recipes/robotlab/meta.yaml index cae0d3f..b9bfc7d 100644 --- a/recipes/robotlab/meta.yaml +++ b/recipes/robotlab/meta.yaml @@ -1,5 +1,6 @@ -{% set robotkernel = "1.0.1" %} -{% set robot_jupyterlab = "==1.1.4" %} +{% set robot = "3.1.2" %} +{% set robotkernel = "1.2" %} +{% set robot_jupyterlab = "==1.2.3" %} {% set robot_pywinpty = ">=0.5.5" %} {% set robot_conda = ">=4.7.12,<4.8" %} {% set robot_fox = ">=68.0.2,<69" %} @@ -8,13 +9,13 @@ package: name: {% set name = "robotlab" %}{{ name }} - version: {% set version = "2019.9.1" %}{{ version }} + version: {% set version = "2019.12.0" %}{{ version }} source: - path: ../../robotlab folder: robotlab - url: https://github.com/robots-from-jupyter/robotkernel/archive/{{ robotkernel }}.tar.gz - sha256: b239e50c2743a7b94704d1f3678303bc95d56be5cf7071e653189a9e9dc74a12 + sha256: 222aebe0de5025b58f4753a2198fa85dc7b432c2d3d70550ebd8095f8507391b folder: robotkernel # we do the jupyterlab build off-line to keep conda-build time low - path: ../../_artifacts/app_dir @@ -73,14 +74,17 @@ requirements: - geckodriver - ipywidgets {{ robot_widgets }} - jupyterlab {{ robot_jupyterlab }} - - pywinpty {{ robot_pywinpty }} # [win] + - jupytext >=1.3.0 - nodejs {{ robot_node }} - opencv - pyshortcuts - python + - pywinpty {{ robot_pywinpty }} # [win] - restinstance + - robotframework =={{ robot }} - robotframework-jupyterlibrary - robotframework-seleniumscreenshots + - robotframework-seleniumtestability - robotframework-whitelibrary # [win] - robotkernel =={{ robotkernel }} diff --git a/robotlab/setup.cfg b/robotlab/setup.cfg index 2089701..84bde96 100644 --- a/robotlab/setup.cfg +++ b/robotlab/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = robotlab -version = 2019.9.1 +version = 2019.12.0 description = A pre-configured JupyterLab for demonstrating robotkernel long_description = file: README.md url = https://github.com/robots-from-jupyter/robotlab diff --git a/robotlab/src/robotlab/_version.py b/robotlab/src/robotlab/_version.py index ed00fb9..604e2a1 100644 --- a/robotlab/src/robotlab/_version.py +++ b/robotlab/src/robotlab/_version.py @@ -1 +1 @@ -__version__ = "2019.9.1" +__version__ = "2019.12.0" diff --git a/scripts/__init__.py b/scripts/__init__.py index 20eefb6..8fcc964 100644 --- a/scripts/__init__.py +++ b/scripts/__init__.py @@ -31,7 +31,7 @@ README = ROOT / "README.md" # for easy overriding in CI -VERSION = os.environ.get("ROBOTLAB_VERSION", "2019.9.1") +VERSION = os.environ.get("ROBOTLAB_VERSION", "2019.12.0") CONDA_VERSION = os.environ.get("CONDA_VERSION", "4.7.12") RF_VERSION = os.environ.get("RF_VERSION", "3.1.2") PY_MAX = os.environ.get("PY_MAX", "3.7.0a0") @@ -40,7 +40,7 @@ "LABEXTENSIONS", """ @jupyterlab/toc@1.0.1 -@jupyter-widgets/jupyterlab-manager@1.0.2 +@jupyter-widgets/jupyterlab-manager@1.1.0 jupyterlab_robotmode@2.4.0 """.replace( "\n", " " diff --git a/tests/resources/Install.robot b/tests/resources/Install.robot index 4504232..04db750 100644 --- a/tests/resources/Install.robot +++ b/tests/resources/Install.robot @@ -4,7 +4,7 @@ Library OperatingSystem Library Process *** Variables *** -${INSTALLER VERSION} 2019.9.1 +${INSTALLER VERSION} 2019.12.0 ${INSTALL LOG} ${OUTPUT DIR}${/}${OS}${/}00_installer.log &{GECKODRIVER} linux=bin${/}geckodriver darwin=bin${/}geckodriver windows=Scripts${/}geckodriver.exe &{FIREFOX} linux=bin${/}firefox darwin=bin${/}firefox windows=Library${/}bin${/}firefox.exe @@ -84,4 +84,4 @@ Get RobotLab GeckoDriver Get RobotLab Firefox [Documentation] Get the path to the bundled firefox - [Return] ${PRODUCT DIR}${/}&{FIREFOX}[${OS}] + [Return] ${PRODUCT DIR}${/}${FIREFOX}[${OS}]