Skip to content

Improve the test execution #489

Improve the test execution

Improve the test execution #489

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@v3
- 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: Lint the packages
run: |
set -eux
jlpm
jlpm run lint:check
- name: Build the core package
run: jlpm build:core
- name: Test the packages
run: |
set -eux
jlpm run test
test_extensions:
name: Python unit tests (Python ${{ matrix.python-version }})
runs-on: ubuntu-latest
needs: build_jupyter-chat
strategy:
fail-fast: false
matrix:
include:
- python-version: '3.9'
- python-version: '3.12'
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Base Setup
uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: python -m pip install -U "jupyterlab>=4.0.0,<5"
- name: Build the extensions
run: |
set -eux
./scripts/dev_install.sh
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@v3
- 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: 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@v3
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: ./scripts/dev_install.sh
- 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@v3
- uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
- uses: jupyterlab/maintainer-tools/.github/actions/check-links@v1