Skip to content

Commit a6c0f38

Browse files
authored
Use robotframework-jupyterlibrary (#8)
* update recipes and versions * linting, versions, integrity * chromedriver versions * add rfjl to constructor * handle freaky error code again * robotkernel source archive sha * use/build robotframework jupyterlibrary, ci * spelling * fix some scripts and typos * don't always need jinja * wasn't getting pillow form -f on rjfl * or six * more widgets * more logging * use built in path separator * use full name of scripts * update rfjl recipe * bump robotkernel to 0.9.0 * pin lab harder * fix local rfjl install version in ci * robotkernel hashes * linting * simplify launch command * add path for good luck * bump some more revs
1 parent d5a2743 commit a6c0f38

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+399
-438
lines changed

README.md

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -32,20 +32,20 @@ possible in the event that network problems arise.
3232

3333

3434
## conda packaging
35-
Once it has matured, `robotkernel` and its dependencies will be available from
36-
[conda-forge][], the community-driven upstream of the Anaconda Distribution.
35+
Once it has matured, `robotkernel` will be available from [conda-forge][], the
36+
community-driven upstream of the Anaconda Distribution.
3737
However, in the name of efficiency, `conda-forge` builds `noarch: python`
3838
packages, which are not compatible with `constructor`'s multiplatform magic.
3939

4040
So for these installers, we build (or rebuild) a number of dependencies, such
41-
as the [robotframework][] 3.1 beta, which brings a number of exciting features.
41+
as [robotframework][] 3.1 and SeleniumLibrary 3.2.0.
4242

4343
> TODO: automated detection and re-arching of packages from conda-forge feedstocks
4444
4545
### robotlab
4646
While still pre-`1.0`, JupyterLab's build chain has some negative externalities
4747
for end users, namely an install- or run-time dependency on NodeJS and npmjs.org
48-
when using any labextensions other than the built in set (e.g. Notebook, Terminal,
48+
when using any labextensions other than the built-in set (e.g. Notebook, Terminal,
4949
Console, Editor, etc.). Because, for the purposes of the workshop, we want to
5050
get to the Good Stuff of running Robot notebooks and not spend a bunch of time
5151
debugging `nodejs` and `webpack`, we've added a few choice JupyterLab extensions:
@@ -68,11 +68,12 @@ everything mentioned above, you'll also find:
6868

6969
In addition to required dependencies a number of extra libraries are included to
7070
showcase some of the features of using Robot Framework interactively.
71-
- `SeleniumLibrary` for controlling browsers
72-
- `geckodriver` for interacting with Mozilla Firefox
73-
- `chromedriver` for interacting with Chromium and Google Chrome
74-
- > it's pretty easy to [get `webdriver`][webdriver] for Microsoft Edge, but
75-
can't be redistributed
71+
- `JupyterLibrary` for testing Jupyter clients with robotframework
72+
- `SeleniumLibrary` for controlling browsers
73+
- `geckodriver` for interacting with Mozilla Firefox
74+
- `python-chromedriver-binary` for interacting with Chromium and Google Chrome
75+
- > it's pretty easy to [get `webdriver`][webdriver] for Microsoft Edge, but
76+
can't be redistributed
7677
- `opencv` for image-driven testing
7778
- `robotframework-lint` for helping you write clean robot syntax
7879

anaconda-project.yml

Lines changed: 34 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,22 +5,6 @@ commands:
55
unix: python -m scripts.build
66
env_spec: _build
77

8-
chromedriver:
9-
unix: >
10-
conda install -fv ${PROJECT_DIR}/_artifacts/conda-bld/linux-64/chromedriver-*.tar.bz2
11-
&& chromedriver --version
12-
env_spec: _build
13-
14-
chromedriver:win:
15-
windows: >
16-
@ECHO ON
17-
&& cd _artifacts
18-
&& cd conda-bld
19-
&& cd win-64
20-
&& set PKG=chromedriver-*
21-
&& %PKG%
22-
env_spec: _build_win
23-
248
lint:
259
unix: python -m scripts.lint
2610
env_spec: _build
@@ -36,12 +20,16 @@ commands:
3620

3721
test:
3822
unix: python -m scripts.test
39-
env_spec: _build
23+
env_spec: _test
4024

4125
test:win:
4226
windows: python -m scripts.test
4327
env_spec: _build_win
4428

29+
combine:
30+
unix: python -m scripts.combine
31+
env_spec: _build
32+
4533
lab:setup:
4634
env_spec: robotlab-dev
4735
unix: cd robotlab && python -m pip install -e . --ignore-installed --no-deps --no-cache-dir
@@ -73,6 +61,34 @@ env_specs:
7361
inherit_from:
7462
- _robots_from_jupyter
7563

64+
_test:
65+
platforms:
66+
- linux-64
67+
- osx-64
68+
inherit_from:
69+
- _robots_from_jupyter
70+
channels:
71+
- ./_artifacts/conda-bld
72+
- https://repo.anaconda.com/pkgs/main
73+
- https://repo.anaconda.com/pkgs/free
74+
- https://conda.anaconda.org/conda-forge
75+
packages:
76+
- robotframework-jupyterlibrary
77+
78+
_test_win:
79+
platforms:
80+
- win-64
81+
inherit_from:
82+
- _robots_from_jupyter
83+
channels:
84+
- ./_artifacts/conda-bld
85+
- https://repo.anaconda.com/pkgs/main
86+
- https://repo.anaconda.com/pkgs/free
87+
- https://conda.anaconda.org/conda-forge
88+
packages:
89+
- robotframework-jupyterlibrary
90+
91+
7692
robotlab-dev:
7793
channels:
7894
- ./_artifacts/conda-bld
@@ -101,6 +117,7 @@ env_specs:
101117
- flake8
102118
- geckodriver
103119
- python >=3.6,<3.7
120+
- python-chromedriver-binary >=2.45
104121
- robotframework
105122
- robotframework-lint
106123
- robotframework-seleniumlibrary

azure-pipelines.yml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,23 @@
11
jobs:
2-
- template: ci/job.robotlab.yml
2+
- template: ci/job.test.yml
33
parameters:
44
name: Linux
55
vmImage: ubuntu-16.04
66

7-
- template: ci/job.robotlab.yml
7+
- template: ci/job.test.yml
88
parameters:
99
name: MacOSX
1010
vmImage: macos-10.13
1111

12-
- template: ci/job.robotlab.yml
12+
- template: ci/job.test.yml
1313
parameters:
1414
name: Windows
1515
vmImage: vs2017-win2016
1616

17-
variables:
18-
MINICONDA_VERSION: 4.5.4
19-
CONDA_VERSION: 4.5.11
17+
- template: ci/job.combine.yml
18+
parameters:
19+
name: Linux
20+
vmImage: ubuntu-16.04
2021

2122
trigger: [master]
2223

ci/job.combine.yml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
parameters:
2+
name: Linux
3+
vmImage: ubuntu-16.04
4+
5+
jobs:
6+
- job: Combine
7+
condition: always()
8+
pool:
9+
vmImage: ${{ parameters.vmImage }}
10+
dependsOn:
11+
- Linux
12+
- MacOSX
13+
- Windows
14+
steps:
15+
- template: steps.conda.robot.yml
16+
parameters:
17+
name: Linux
18+
- task: DownloadPipelineArtifact@0
19+
condition: always()
20+
inputs:
21+
artifactName: Robot Output Linux
22+
targetPath: _artifacts/test_output
23+
- task: DownloadPipelineArtifact@0
24+
condition: always()
25+
inputs:
26+
artifactName: Robot Output MacOSX
27+
targetPath: _artifacts/test_output
28+
- task: DownloadPipelineArtifact@0
29+
condition: always()
30+
inputs:
31+
artifactName: Robot Output Windows
32+
targetPath: _artifacts/test_output
33+
- script: python -m scripts.combine
34+
condition: always()
35+
displayName: Rebot
36+
- task: PublishBuildArtifacts@1
37+
condition: always()
38+
displayName: Publish Robot Output
39+
inputs:
40+
pathtoPublish: _artifacts/test_output
41+
artifactName: RobotLab Robot Output

ci/job.robotlab.yml

Lines changed: 0 additions & 25 deletions
This file was deleted.

ci/job.test.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
parameters:
2+
name: Linux
3+
vmImage: ubuntu-16.04
4+
5+
jobs:
6+
- job: ${{ parameters.name }}
7+
pool:
8+
vmImage: ${{ parameters.vmImage }}
9+
10+
steps:
11+
- template: steps.browser.yml
12+
parameters:
13+
name: ${{ parameters.name }}
14+
15+
- template: steps.conda.test.yml
16+
parameters:
17+
name: ${{ parameters.name }}
18+
19+
- template: steps.common.yml
20+
parameters:
21+
name: ${{ parameters.name }}

ci/steps.browser.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
parameters:
2+
name: Linux
3+
4+
steps:
5+
- ${{ if eq(parameters.name, 'MacOSX') }}:
6+
- script: |
7+
HOMEBREW_NO_AUTO_UPDATE=1 \
8+
brew tap caskroom/cask \
9+
&& brew cask install google-chrome \
10+
&& brew cask install firefox
11+
displayName: Install Browsers on MacOSX

ci/steps.chromedriver.yml

Lines changed: 0 additions & 29 deletions
This file was deleted.

ci/steps.common.yml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,20 @@ steps:
55
- script: python -m scripts.integrity
66
displayName: Integrity
77

8-
- template: steps.chromedriver.yml
9-
parameters:
10-
name: ${{ parameters.name }}
11-
128
- script: >
139
python -m scripts.build conda
14-
lunr
1510
robotframework
1611
robotframework-lint
1712
robotframework-seleniumlibrary
13+
robotframework-jupyterlibrary
1814
robotkernel
1915
robotlab
2016
displayName: Build Conda Packages
2117
18+
- template: steps.jupyterlibrary.yml
19+
parameters:
20+
name: ${{ parameters.name }}
21+
2222
- script: python -m scripts.build constructor
2323
displayName: Build Constructor
2424

@@ -31,16 +31,16 @@ steps:
3131
testResultsFiles: _artifacts/test_output/**/*.xunit.xml
3232
condition: always()
3333

34-
- task: PublishBuildArtifacts@1
35-
displayName: Publish Robot Logs
34+
- task: PublishPipelineArtifact@0
35+
displayName: Publish Robot Output
3636
inputs:
37-
PathtoPublish: _artifacts/test_output
38-
ArtifactName: ${{ parameters.name }} tests
37+
targetPath: _artifacts/test_output
38+
artifactName: Robot Output ${{ parameters.name }}
3939
condition: always()
4040

4141
- task: PublishBuildArtifacts@1
4242
displayName: Publish Installer
4343
inputs:
4444
PathtoPublish: _artifacts/constructor
45-
ArtifactName: ${{ parameters.name }} installer
45+
ArtifactName: RobotLab for ${{ parameters.name }}
4646
condition: succeeded()

ci/steps.conda.robot.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
steps:
2+
- task: CondaEnvironment@1
3+
inputs:
4+
createOptions: -c conda-forge -c defaults
5+
createCustomEnvironment: true
6+
updateConda: false
7+
environmentName: robotframework-jupyterlibrary-robot
8+
packageSpecs: >
9+
python>=3.6,<3.7
10+
robotframework>=3.1

0 commit comments

Comments
 (0)