diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index dee930f89..93c49a44d 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.7", "3.10"] + python-version: ["3.8", "3.11"] steps: - name: Check out repository code uses: actions/checkout@v3 @@ -24,7 +24,7 @@ jobs: sudo apt-get install texlive-plain-generic inkscape texlive-xetex latexmk enchant-2 # pandoc is not up to date in the ubuntu repos, so we install directly - wget https://github.com/jgm/pandoc/releases/download/2.14.2/pandoc-2.14.2-1-amd64.deb && sudo dpkg -i pandoc-2.14.2-1-amd64.deb + wget https://github.com/jgm/pandoc/releases/download/3.1.2/pandoc-3.1.2-1-amd64.deb && sudo dpkg -i pandoc-3.1.2-1-amd64.deb - uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 - name: Install diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index fe09c6d48..b7871616c 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -23,12 +23,12 @@ jobs: strategy: matrix: os: ["ubuntu-20.04", "macos-latest", "windows-latest"] - python-version: ["3.7", "3.10"] + python-version: ["3.8", "3.11"] include: - os: "windows-latest" - python-version: "3.8" - - os: "ubuntu-20.04" python-version: "3.9" + - os: "ubuntu-20.04" + python-version: "3.10" fail-fast: false steps: - uses: actions/checkout@v3 @@ -56,6 +56,15 @@ jobs: - uses: jupyterlab/maintainer-tools/.github/actions/upload-coverage@v1 + python312: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 + with: + python_version: "3.12" + - run: hatch run test:test + coverage: runs-on: ubuntu-latest needs: diff --git a/nbconvert/tests/base.py b/nbconvert/tests/base.py index 9077faa96..e92dccf5b 100644 --- a/nbconvert/tests/base.py +++ b/nbconvert/tests/base.py @@ -126,6 +126,9 @@ def copy_files_to(self, copy_filenames, dest="."): files = glob.glob(os.path.join(files_path, pattern)) assert files for match in files: + # Avoid copying the Julia file unless it is explicitly asked for. + if 'jl' in match and "jl" not in pattern: + continue shutil.copyfile(match, os.path.join(dest, os.path.basename(match))) def _get_files_path(self): diff --git a/nbconvert/tests/test_nbconvertapp.py b/nbconvert/tests/test_nbconvertapp.py index 45deb10fa..a197fec6b 100644 --- a/nbconvert/tests/test_nbconvertapp.py +++ b/nbconvert/tests/test_nbconvertapp.py @@ -8,6 +8,7 @@ import nbformat import pytest +from flaky import flaky # type:ignore from traitlets.tests.utils import check_help_all_output from nbconvert.exporters import HTMLExporter @@ -148,6 +149,7 @@ def test_filename_spaces(self): ) assert os.path.isfile("notebook with spaces.pdf") + @flaky @pytest.mark.network @pytest.mark.skipif(not PYPPETEER_INSTALLED, reason="Pyppeeter not installed") def test_webpdf_with_chromium(self): diff --git a/pyproject.toml b/pyproject.toml index f5085c366..def037254 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,5 +1,5 @@ [build-system] -requires = ["hatchling >=0.25"] +requires = ["hatchling >=1.5"] build-backend = "hatchling.build" [project] @@ -18,7 +18,7 @@ classifiers = [ "Programming Language :: Python :: 3", ] urls = {Homepage = "https://jupyter.org"} -requires-python = ">=3.7" +requires-python = ">=3.8" dependencies = [ "beautifulsoup4", "bleach!=5.0.0", @@ -65,6 +65,7 @@ test = [ "ipykernel", "ipywidgets>=7", "pre-commit", + "flaky" ] serve = ["tornado>=6.1"] docs = [ @@ -163,6 +164,8 @@ filterwarnings = [ "ignore:unclosed event loop:ResourceWarning", # From jupyter_core "module:Jupyter is migrating its paths to use standard platformdirs:DeprecationWarning", + # From dateutil + "ignore:.*Use timezone-aware objects to represent datetimes in UTC:DeprecationWarning", ] [tool.coverage.report]