@@ -26,40 +26,37 @@ jobs:
2626 - name : Checkout
2727 uses : actions/checkout@v2
2828
29- - name : Setup conda
30- uses : conda-incubator/setup-miniconda@v2
29+ - name : Install Conda environment with Micromamba
30+ uses : mamba-org/provision-with-micromamba@main
3131 with :
32- activate- environment : ipycanvas-dev
32+ environment-name : ipycanvas-dev
3333 environment-file : dev-environment.yml
34- python-version : ${{ matrix.python-version }}
35- mamba-version : " *"
36- auto-activate-base : false
3734 channels : conda-forge
35+ extra-specs : |
36+ python=${{ matrix.python-version }}
3837
3938 - name : Test PEP8
4039 run : |
4140 black --check ipycanvas
41+ black --check examples/*.ipynb
4242 blacken-docs docs/*.rst
4343
44- - name : Test PEP8 on example notebooks
45- run : jupytext examples/*.ipynb --check 'black --check {}'
46-
4744 build :
4845 runs-on : ubuntu-latest
4946 steps :
5047
5148 - name : Checkout
5249 uses : actions/checkout@v2
5350
54- - name : Setup conda
55- uses : conda-incubator/setup-miniconda@v2
51+ - name : Install Conda environment with Micromamba
52+ uses : mamba-org/provision-with-micromamba@main
5653 with :
57- activate- environment : ipycanvas-dev
54+ environment-name : ipycanvas-dev
5855 environment-file : dev-environment.yml
59- python-version : ${{ matrix.python-version }}
60- mamba-version : " *"
61- auto-activate-base : false
6256 channels : conda-forge
57+ extra-specs : |
58+ python=${{ matrix.python-version }}
59+
6360
6461 - name : Build packages
6562 run : |
@@ -91,15 +88,14 @@ jobs:
9188 - name : Checkout
9289 uses : actions/checkout@v2
9390
94- - name : Setup conda
95- uses : conda-incubator/setup-miniconda@v2
91+ - name : Install Conda environment with Micromamba
92+ uses : mamba-org/provision-with-micromamba@main
9693 with :
97- activate- environment : ipycanvas-dev
94+ environment-name : ipycanvas-dev
9895 environment-file : dev-environment.yml
99- python-version : ${{ matrix.python-version }}
100- mamba-version : " *"
101- auto-activate-base : false
10296 channels : conda-forge
97+ extra-specs : |
98+ python=${{ matrix.python-version }}
10399
104100 - uses : actions/download-artifact@v2
105101 with :
@@ -131,31 +127,35 @@ jobs:
131127 - name : Validate the labextension
132128 run : jupyter labextension list 2>&1 | grep ipycanvas
133129
134- - name : Install Galata
135- run : |
136- yarn install
137- yarn playwright install chromium
138- working-directory : ui-tests
139-
140- - name : Launch JupyterLab
141- run : yarn run start:detached
130+ - name : Install dependencies
131+ shell : bash -l {0}
142132 working-directory : ui-tests
133+ env :
134+ PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD : 1
135+ run : jlpm install
143136
144- - name : Wait for JupyterLab
145- uses : ifaxity/wait-on-action@v1
137+ - name : Set up browser cache
138+ uses : actions/cache@v3
146139 with :
147- resource : http-get://localhost:8888/api
148- timeout : 20000
140+ path : |
141+ ${{ github.workspace }}/pw-browsers
142+ key : ${{ runner.os }}-${{ hashFiles('ui-tests/yarn.lock') }}
143+
144+ - name : Install browser
145+ shell : bash -l {0}
146+ run : npx playwright install chromium
147+ working-directory : ui-tests
149148
150- - name : Run UI Tests
151- run : yarn run test
149+ - name : Execute integration tests
150+ shell : bash -l {0}
152151 working-directory : ui-tests
152+ run : npx playwright test
153153
154- - name : Upload UI Test artifacts
154+ - name : Upload Playwright Test report
155155 if : always()
156- uses : actions/upload-artifact@v2
156+ uses : actions/upload-artifact@v3
157157 with :
158- name : ui-test-output
158+ name : ipycanvas-playwright-tests
159159 path : |
160- ui-tests/playwright-report
161160 ui-tests/test-results
161+ ui-tests/playwright-report
0 commit comments