Improve robustness of subshell concurrency tests using Barrier (#1288) #1450
This file contains 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: Test downstream projects | |
on: | |
push: | |
branches: ["main"] | |
pull_request: | |
concurrency: | |
group: downstream-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
nbclient: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Base Setup | |
uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 | |
- name: Run Test | |
uses: jupyterlab/maintainer-tools/.github/actions/downstream-test@v1 | |
with: | |
package_name: nbclient | |
env_values: IPYKERNEL_CELL_NAME=\<IPY-INPUT\> | |
ipywidgets: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Base Setup | |
uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 | |
- name: Run Test | |
uses: jupyterlab/maintainer-tools/.github/actions/downstream-test@v1 | |
with: | |
package_name: ipywidgets | |
test_command: pytest -vv -raXxs -k \"not deprecation_fa_icons and not tooltip_deprecation and not on_submit_deprecation\" -W default --durations 10 --color=yes | |
jupyter_client: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Base Setup | |
uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 | |
- name: Run Test | |
uses: jupyterlab/maintainer-tools/.github/actions/downstream-test@v1 | |
with: | |
package_name: jupyter_client | |
ipyparallel: | |
runs-on: ubuntu-latest | |
timeout-minutes: 20 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Base Setup | |
uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 | |
- name: Run Test | |
uses: jupyterlab/maintainer-tools/.github/actions/downstream-test@v1 | |
with: | |
package_name: ipyparallel | |
package_spec: '-e ".[test]"' | |
jupyter_kernel_test: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Base Setup | |
uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 | |
- name: Run Test | |
run: | | |
git clone https://github.com/jupyter/jupyter_kernel_test.git | |
cd jupyter_kernel_test | |
pip install -e ".[test]" | |
python test_ipykernel.py | |
qtconsole: | |
runs-on: ubuntu-latest | |
timeout-minutes: 20 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.9" | |
architecture: "x64" | |
- name: Install System Packages | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y --no-install-recommends '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev | |
- name: Install qtconsole dependencies | |
shell: bash -l {0} | |
run: | | |
cd ${GITHUB_WORKSPACE}/.. | |
git clone https://github.com/jupyter/qtconsole.git | |
cd qtconsole | |
${pythonLocation}/bin/python -m pip install -e ".[test]" | |
${pythonLocation}/bin/python -m pip install pyqt5 | |
- name: Install Ipykernel changes | |
shell: bash -l {0} | |
run: ${pythonLocation}/bin/python -m pip install -e . | |
- name: Test qtconsole | |
shell: bash -l {0} | |
run: | | |
cd ${GITHUB_WORKSPACE}/../qtconsole | |
xvfb-run --auto-servernum ${pythonLocation}/bin/python -m pytest -x -vv -s --full-trace --color=yes qtconsole | |
spyder_kernels: | |
runs-on: ubuntu-latest | |
timeout-minutes: 20 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.9" | |
architecture: "x64" | |
- name: Install System Packages | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y --no-install-recommends libegl1-mesa | |
- name: Install spyder-kernels dependencies | |
shell: bash -l {0} | |
run: | | |
cd ${GITHUB_WORKSPACE}/.. | |
git clone https://github.com/spyder-ide/spyder-kernels.git | |
cd spyder-kernels | |
${pythonLocation}/bin/python -m pip install -e ".[test]" | |
- name: Install IPykernel changes | |
shell: bash -l {0} | |
run: ${pythonLocation}/bin/python -m pip install -e . | |
- name: Test spyder-kernels | |
shell: bash -l {0} | |
run: | | |
cd ${GITHUB_WORKSPACE}/../spyder-kernels | |
xvfb-run --auto-servernum ${pythonLocation}/bin/python -m pytest -x -vv -s --full-trace --color=yes spyder_kernels | |
downstream_check: # This job does nothing and is only used for the branch protection | |
if: always() | |
needs: | |
- nbclient | |
- ipywidgets | |
- jupyter_client | |
- ipyparallel | |
- jupyter_kernel_test | |
- spyder_kernels | |
- qtconsole | |
runs-on: ubuntu-latest | |
steps: | |
- name: Decide whether the needed jobs succeeded or failed | |
uses: re-actors/alls-green@release/v1 | |
with: | |
jobs: ${{ toJSON(needs) }} |