name: Python Tests on: push: branches: '*' pull_request: branches: '*' jobs: build: runs-on: ${{ matrix.os }}-latest strategy: fail-fast: false matrix: os: [ubuntu, macos, windows] python-version: [ '3.7', '3.8', '3.9', '3.10' ] steps: - name: Checkout uses: actions/checkout@v1 - name: Install Python ${{ matrix.python-version }} uses: actions/setup-python@v1 with: python-version: ${{ matrix.python-version }} architecture: 'x64' - name: Upgrade packaging dependencies run: | pip install --upgrade pip setuptools wheel --user - name: Get pip cache dir id: pip-cache run: | echo "::set-output name=dir::$(pip cache dir)" - name: Cache pip uses: actions/cache@v1 with: path: ${{ steps.pip-cache.outputs.dir }} key: ${{ runner.os }}-pip-${{ matrix.python-version }}-${{ hashFiles('setup.py') }} restore-keys: | ${{ runner.os }}-pip-${{ matrix.python-version }}- ${{ runner.os }}-pip- - name: Install the Python dependencies run: | pip install -e .[test] - name: List installed packages run: | pip freeze pip check - name: Run Server-side tests run: | pytest -vv --cov notebook --cov-branch --cov-report term-missing:skip-covered --ignore-glob=notebook/tests/selenium/* --ignore-glob=notebook/nbconvert/tests/* --ignore-glob=notebook/services/nbconvert/tests/* - name: Run Integration Tests run: | pytest -v notebook/tests/test_notebookapp_integration.py --integration_tests