Tests #4212
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Tests | |
on: | |
push: | |
branches: | |
- '*' | |
pull_request: | |
branches: | |
- '*' | |
schedule: | |
- cron: '0 2 * * 1-5' # run on weekdays at 2:00am UTC | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
test-linux: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest] | |
python_version: ['3.9', '3.10', '3.11'] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Conda environment with Micromamba | |
uses: mamba-org/setup-micromamba@v2 | |
with: | |
environment-name: voila | |
create-args: >- | |
python=${{ matrix.python_version }} | |
pip | |
jupyterlab_pygments=0.1.0 | |
pytest-cov | |
pytest-rerunfailures | |
nodejs=18 | |
yarn=3 | |
ipywidgets | |
matplotlib | |
xeus-cling | |
traitlets>=5.0.3,<6 | |
ipykernel | |
pyzmq=25.1.0 | |
- name: Install dependencies | |
shell: bash -l {0} | |
run: | | |
whereis python | |
python --version | |
yarn install --network-timeout 100000 | |
python -m pip install ".[test,dev]" | |
(cd tests/test_template; pip install .) | |
(cd tests/skip_template; pip install .) | |
- name: Lint check | |
shell: bash -l {0} | |
run: | | |
pre-commit run --all-files --show-diff-on-failure | |
- name: Run tests | |
shell: bash -l {0} | |
run: | | |
VOILA_TEST_XEUS_CLING=1 py.test tests/app --async-test-timeout=240 --reruns 2 --reruns-delay 1 | |
VOILA_TEST_XEUS_CLING=1 py.test tests/server --async-test-timeout=240 --reruns 2 --reruns-delay 1 --trace | |
py.test tests/execute_output_test.py | |
voila --help # Making sure we can run `voila --help` | |
# tests if voila sends a 'heartbeat' to avoid proxies from closing an apparently stale connection | |
# Note that wget is the only easily available software that has a read-timeout | |
voila tests/notebooks/sleep10seconds.ipynb --port=8878 --VoilaConfiguration.http_keep_alive_timeout=2 & | |
sleep 2 | |
wget --read-timeout=5 --tries=1 http://localhost:8878 | |
# Test nbconvert < 7.6.0 | |
python -m pip install "nbconvert<7.6.0" | |
VOILA_TEST_XEUS_CLING=1 py.test tests/app/image_inlining_test.py | |
test-osx: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [macos-13] | |
python_version: ['3.9', '3.10', '3.11'] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Conda environment with Micromamba | |
uses: mamba-org/setup-micromamba@v2 | |
with: | |
environment-name: voila | |
create-args: >- | |
python=${{ matrix.python_version }} | |
pip | |
jupyterlab_pygments=0.1.0 | |
pytest-cov | |
pytest-rerunfailures | |
nodejs=18 | |
yarn=3 | |
ipywidgets | |
matplotlib | |
xeus-cling | |
traitlets>=5.0.3,<6 | |
ipykernel | |
pyzmq=25.1.0 | |
- name: Install dependencies | |
shell: bash -l {0} | |
run: | | |
whereis python | |
python --version | |
yarn install --network-timeout 100000 | |
python -m pip install ".[test,dev]" | |
(cd tests/test_template; pip install .) | |
(cd tests/skip_template; pip install .) | |
- name: Run tests | |
shell: bash -l {0} | |
run: | | |
py.test tests/app --async-test-timeout=240 --reruns 2 --reruns-delay 1 | |
py.test tests/server --async-test-timeout=240 --reruns 2 --reruns-delay 1 --trace | |
py.test tests/execute_output_test.py | |
test-win: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [windows-latest] | |
python-version: ['3.9', '3.10', '3.11'] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- uses: actions/setup-node@v2 | |
with: | |
node-version: '18' | |
- name: Install dependencies | |
run: | | |
python -m pip install jupyterlab_pygments==0.1.0 pytest-cov pytest-rerunfailures ipywidgets matplotlib traitlets ipykernel | |
yarn install --network-timeout 100000 | |
python -m pip install ".[test]" | |
cd tests/test_template | |
pip install . | |
cd ../skip_template | |
pip install . | |
- name: Run test | |
run: | | |
set VOILA_TEST_DEBUG=1 | |
py.test tests/app --async-test-timeout=240 --reruns 2 --reruns-delay 1 -x | |
py.test tests/server --async-test-timeout=240 --reruns 2 --reruns-delay 1 --trace -x | |
py.test tests/execute_output_test.py -x |