Skip to content

Clean the panel with toolbar workaround after bumping to jupyterlab>=4.6 #1401

Clean the panel with toolbar workaround after bumping to jupyterlab>=4.6

Clean the panel with toolbar workaround after bumping to jupyterlab>=4.6 #1401

Workflow file for this run

name: Build
on:
push:
branches: main
pull_request:
branches: '*'
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
build_jupyter-chat:
runs-on: ubuntu-latest
name: Build jupyter_chat
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Base Setup
uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
- name: Install dependencies
run: python -m pip install -U "jupyterlab>=4.0.0,<5"
- name: Build the core package
run: |
set -eux
jlpm
jlpm build:core
- name: Test the packages
run: jlpm run test
test_extensions:
name: Python unit tests (Python ${{ matrix.python-version }}, ${{ matrix.collaboration.label }})
runs-on: ubuntu-latest
needs: build_jupyter-chat
strategy:
fail-fast: false
matrix:
python-version: ['3.10', '3.14']
collaboration:
# JupyterLab < 4.6 + Jupyter Collaboration v4
- label: 'JupyterLab <4.6 + Collaboration v4'
jupyterlab-spec: 'jupyterlab>=4.0.0,<4.6'
collaboration-spec: 'jupyter_collaboration>=4,<5'
# JupyterLab >= 4.6 + Jupyter Collaboration >= 5.0.0a0
- label: 'JupyterLab >=4.6 + Collaboration v5'
jupyterlab-spec: 'jupyterlab>=4.6'
collaboration-spec: 'jupyter_collaboration>=5.0.0a0'
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Base Setup
uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
with:
python-version: ${{ matrix.python-version }}
- name: Install the extension for this matrix cell
env:
# Skip the frontend build hook during the editable install. It requires
# jupyter-builder (bundled only with JupyterLab >=4.6) and only produces
# the labextension assets, which the Python unit tests do not need.
SKIP_JUPYTER_BUILDER: '1'
run: |
set -eux
python -m pip install -e "python/jupyterlab-chat[test]"
# Pin JupyterLab and Jupyter Collaboration to the versions under test.
python -m pip install -U "${{ matrix.collaboration.jupyterlab-spec }}" "${{ matrix.collaboration.collaboration-spec }}"
python -m pip list | grep -iE "jupyterlab |jupyter-collaboration|jupyter-ydoc|pycrdt"
- name: Run Python unit tests
run: pytest -vv -r ap --cov
build_extension:
runs-on: ubuntu-latest
needs: build_jupyter-chat
name: Build chat extension
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Base Setup
uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
- name: Install dependencies
run: python -m pip install -U "jupyterlab>=4.0.0,<5"
- name: Package the extensions
run: |
jlpm install
jlpm build
- name: Lint the packages
run: jlpm run lint:check
- name: Package extension
run: |
set -eux
pip install build python/jupyterlab-chat
python -m build python/jupyterlab-chat
pip uninstall -y "jupyterlab_chat" jupyterlab
- name: Upload package
uses: actions/upload-artifact@v4
with:
name: jupyterlab_chat-artifacts
path: python/jupyterlab-chat/dist/jupyterlab_chat*
if-no-files-found: error
typing-tests:
name: Typing 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: Install extension dependencies and build the extension
run: python ./scripts/dev_install.py
- name: Run mypy
run: |
set -eux
mypy --version
mypy python/jupyterlab-chat
check_links:
name: Check Links
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v4
- uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
- uses: jupyterlab/maintainer-tools/.github/actions/check-links@v1
with:
ignore_links: 'https://www.npmjs.com.*'