From c413ea77053cff9990ecdb7a3346803ab11f5b19 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 4 Aug 2024 20:33:00 +0000 Subject: [PATCH 01/14] Bump actions/upload-artifact from 4.3.4 to 4.3.5 Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.4 to 4.3.5. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v4.3.4...v4.3.5) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 798006928..bf6d87720 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -117,7 +117,7 @@ jobs: - name: Store Coverage Data if: always() && contains('success,failure', steps.test.outcome) - uses: actions/upload-artifact@v4.3.4 + uses: actions/upload-artifact@v4.3.5 with: name: coverage-data-${{ matrix.platform }}-${{ matrix.python-version }} path: ".coverage.*" @@ -172,7 +172,7 @@ jobs: - name: Upload Project Coverage HTML Report if: always() && steps.project-coverage.outcome == 'failure' - uses: actions/upload-artifact@v4.3.4 + uses: actions/upload-artifact@v4.3.5 with: name: html-coverage-report-project path: htmlcov From 62577cfdceaf14fe55daf3252b4a16b4d77e50ae Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 4 Aug 2024 20:33:12 +0000 Subject: [PATCH 02/14] Add changenote. [dependabot skip] --- changes/1936.misc.rst | 1 + 1 file changed, 1 insertion(+) create mode 100644 changes/1936.misc.rst diff --git a/changes/1936.misc.rst b/changes/1936.misc.rst new file mode 100644 index 000000000..145fd33a3 --- /dev/null +++ b/changes/1936.misc.rst @@ -0,0 +1 @@ +Updated actions/upload-artifact from 4.3.4 to 4.3.5. From 7399760eebedec4f5620b71c4472e3bf0f2566da Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 4 Aug 2024 20:35:21 +0000 Subject: [PATCH 03/14] Bump coverage[toml] from 7.6.0 to 7.6.1 Bumps [coverage[toml]](https://github.com/nedbat/coveragepy) from 7.6.0 to 7.6.1. - [Release notes](https://github.com/nedbat/coveragepy/releases) - [Changelog](https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst) - [Commits](https://github.com/nedbat/coveragepy/compare/7.6.0...7.6.1) --- updated-dependencies: - dependency-name: coverage[toml] dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 42a40ed3a..c33287ce6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -96,7 +96,7 @@ dependencies = [ # Extras used by developers *of* briefcase are pinned to specific versions to # ensure environment consistency. dev = [ - "coverage[toml] == 7.6.0", + "coverage[toml] == 7.6.1", "coverage-conditional-plugin == 0.9.0", # Pre-commit 3.6.0 deprecated support for Python 3.8 "pre-commit == 3.5.0 ; python_version < '3.9'", From 2a3fb08f9b85919a3652493e3d593c6ac315aa77 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 4 Aug 2024 20:35:30 +0000 Subject: [PATCH 04/14] Add changenote. [dependabot skip] --- changes/1938.misc.rst | 1 + 1 file changed, 1 insertion(+) create mode 100644 changes/1938.misc.rst diff --git a/changes/1938.misc.rst b/changes/1938.misc.rst new file mode 100644 index 000000000..2ffb74794 --- /dev/null +++ b/changes/1938.misc.rst @@ -0,0 +1 @@ +Updated coverage[toml] from 7.6.0 to 7.6.1. From a8201ab9a6deedc6d54627af2ff0cc6415709c96 Mon Sep 17 00:00:00 2001 From: Russell Martin Date: Mon, 5 Aug 2024 16:42:25 -0400 Subject: [PATCH 05/14] Fix quoting for `-Q` example --- docs/reference/commands/new.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/reference/commands/new.rst b/docs/reference/commands/new.rst index 6007de67c..776c9c147 100644 --- a/docs/reference/commands/new.rst +++ b/docs/reference/commands/new.rst @@ -40,7 +40,7 @@ branch of the template. Override the answer to a new project prompt with the provided value. -For instance, if ``-Q "license=MIT license`` is specified, then the question to +For instance, if ``-Q "license=MIT license"`` is specified, then the question to choose a license will not be presented to the user and the MIT license will be automatically used for the project. When used in conjunction with ``--no-input``, the provided value overrides the default answer. From 08b8ad5f83ef4c3f23fc35a8f54e5f8651f1c2e1 Mon Sep 17 00:00:00 2001 From: Russell Martin Date: Mon, 5 Aug 2024 16:51:25 -0400 Subject: [PATCH 06/14] Create 1939.misc.rst --- changes/1939.misc.rst | 1 + 1 file changed, 1 insertion(+) create mode 100644 changes/1939.misc.rst diff --git a/changes/1939.misc.rst b/changes/1939.misc.rst new file mode 100644 index 000000000..238598148 --- /dev/null +++ b/changes/1939.misc.rst @@ -0,0 +1 @@ +A missing quote in the example for the documentation of the New Command's ``-Q`` option was added. From 7c2e467aee642647b34d15b46c0bc1853093e4d1 Mon Sep 17 00:00:00 2001 From: Russell Keith-Magee Date: Tue, 6 Aug 2024 07:54:34 +0800 Subject: [PATCH 07/14] Pin the python version used on RTD. --- .readthedocs.yaml | 2 +- pyproject.toml | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index c13a6c3c9..080d6ff44 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -7,7 +7,7 @@ version: 2 build: os: ubuntu-22.04 tools: - python: "3" + python: "3.12" jobs: post_checkout: # RTD defaults to a depth of 50 but Briefcase versioning may require diff --git a/pyproject.toml b/pyproject.toml index c33287ce6..5c9e8b116 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -110,10 +110,12 @@ docs = [ "furo == 2024.7.18", "pyenchant == 3.2.2", # Sphinx 7.2 deprecated support for Python 3.8 + # Sphinx 8.0 deprecated support for Python 3.9 "sphinx == 7.1.2 ; python_version < '3.9'", + "sphinx == 7.4.7 ; python_version == '3.9'", "sphinx == 7.4.7 ; python_version >= '3.9'", "sphinx_tabs == 3.4.5", - # Sphinx 2024.2.4 deprecated support for Python 3.8 + # sphinx-autobuild 2024.2.4 deprecated support for Python 3.8 "sphinx-autobuild == 2021.3.14 ; python_version < '3.9'", "sphinx-autobuild == 2024.4.16 ; python_version >= '3.9'", "sphinx-copybutton == 0.5.2", From fc1db80b687ea66e9354f334bac220122f97df59 Mon Sep 17 00:00:00 2001 From: Russell Keith-Magee Date: Tue, 6 Aug 2024 07:57:06 +0800 Subject: [PATCH 08/14] Add changenote. --- changes/1940.misc.rst | 1 + 1 file changed, 1 insertion(+) create mode 100644 changes/1940.misc.rst diff --git a/changes/1940.misc.rst b/changes/1940.misc.rst new file mode 100644 index 000000000..054f72bfe --- /dev/null +++ b/changes/1940.misc.rst @@ -0,0 +1 @@ +The environment for RTD builds was pinned, and protection for Sphinx updates was added. From 28a173b619663e6c84d0ca17220cf8b7133002a1 Mon Sep 17 00:00:00 2001 From: Russell Keith-Magee Date: Tue, 6 Aug 2024 08:01:03 +0800 Subject: [PATCH 09/14] Correct the upper version pin for Sphinx. --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 5c9e8b116..bb48bf29d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -113,7 +113,7 @@ docs = [ # Sphinx 8.0 deprecated support for Python 3.9 "sphinx == 7.1.2 ; python_version < '3.9'", "sphinx == 7.4.7 ; python_version == '3.9'", - "sphinx == 7.4.7 ; python_version >= '3.9'", + "sphinx == 7.4.7 ; python_version >= '3.10'", "sphinx_tabs == 3.4.5", # sphinx-autobuild 2024.2.4 deprecated support for Python 3.8 "sphinx-autobuild == 2021.3.14 ; python_version < '3.9'", From c7f500ebbfeb9b8fddc9385e1e375cc39094dd1d Mon Sep 17 00:00:00 2001 From: Russell Keith-Magee Date: Wed, 7 Aug 2024 08:06:27 +0800 Subject: [PATCH 10/14] Fix docs environment to Python 3.12. --- docs/how-to/contribute-docs.rst | 3 ++- pyproject.toml | 12 ++++-------- tox.ini | 20 +++++++------------- 3 files changed, 13 insertions(+), 22 deletions(-) diff --git a/docs/how-to/contribute-docs.rst b/docs/how-to/contribute-docs.rst index 1dc38ea28..5e06b9995 100644 --- a/docs/how-to/contribute-docs.rst +++ b/docs/how-to/contribute-docs.rst @@ -20,7 +20,8 @@ Build documentation locally --------------------------- To build the documentation locally, :ref:`set up a development environment -`. +`. However, you **must** have a Python 3.12 interpreter installed +and available on your path (i.e., ``python3.12`` must start a Python 3.12 interpreter). You'll also need to install the Enchant spell checking library. diff --git a/pyproject.toml b/pyproject.toml index bb48bf29d..52de65645 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -106,18 +106,14 @@ dev = [ "setuptools_scm == 8.1.0", "tox == 4.16.0", ] +# Docs are always built on Py3.12; see RTD and tox config files, +# and the docs contribution guide. docs = [ "furo == 2024.7.18", "pyenchant == 3.2.2", - # Sphinx 7.2 deprecated support for Python 3.8 - # Sphinx 8.0 deprecated support for Python 3.9 - "sphinx == 7.1.2 ; python_version < '3.9'", - "sphinx == 7.4.7 ; python_version == '3.9'", - "sphinx == 7.4.7 ; python_version >= '3.10'", + "sphinx == 7.4.7", "sphinx_tabs == 3.4.5", - # sphinx-autobuild 2024.2.4 deprecated support for Python 3.8 - "sphinx-autobuild == 2021.3.14 ; python_version < '3.9'", - "sphinx-autobuild == 2024.4.16 ; python_version >= '3.9'", + "sphinx-autobuild == 2024.4.16", "sphinx-copybutton == 0.5.2", "sphinxcontrib-spelling == 8.0.0", ] diff --git a/tox.ini b/tox.ini index 1b1543e66..32a234178 100644 --- a/tox.ini +++ b/tox.ini @@ -98,16 +98,10 @@ commands = [docs] docs_dir = {tox_root}{/}docs build_dir = {[docs]docs_dir}{/}_build -# replace when Sphinx>=7.3 and Python 3.8 is dropped: -# -T => --show-traceback -# -W => --fail-on-warning -# -b => --builder -# -v => --verbose -# -a => --write-all -# -E => --fresh-env -sphinx_args = -T -W --keep-going --jobs auto +sphinx_args = --show-traceback --fail-on-warning --keep-going --jobs auto [testenv:docs{,-lint,-all,-live}] +basepython = python3.12 package = wheel wheel_build_env = .pkg extras = docs @@ -117,8 +111,8 @@ passenv = # export PYENCHANT_LIBRARY_PATH=/opt/homebrew/lib/libenchant-2.2.dylib PYENCHANT_LIBRARY_PATH commands = - !lint-!all-!live : python -m sphinx {[docs]sphinx_args} {posargs} -b html {[docs]docs_dir} {[docs]build_dir}{/}html - lint : python -m sphinx {[docs]sphinx_args} {posargs} -b spelling {[docs]docs_dir} {[docs]build_dir}{/}spell - lint : python -m sphinx {[docs]sphinx_args} {posargs} -b linkcheck {[docs]docs_dir} {[docs]build_dir}{/}links - all : python -m sphinx {[docs]sphinx_args} {posargs} -v -a -E -b html {[docs]docs_dir} {[docs]build_dir}{/}html - live : sphinx-autobuild {[docs]sphinx_args} {posargs} -b html {[docs]docs_dir} {[docs]build_dir}{/}live + !lint-!all-!live : python -m sphinx {[docs]sphinx_args} {posargs} --builder html {[docs]docs_dir} {[docs]build_dir}{/}html + lint : python -m sphinx {[docs]sphinx_args} {posargs} --builder spelling {[docs]docs_dir} {[docs]build_dir}{/}spell + lint : python -m sphinx {[docs]sphinx_args} {posargs} --builder linkcheck {[docs]docs_dir} {[docs]build_dir}{/}links + all : python -m sphinx {[docs]sphinx_args} {posargs} --verbose --write-all --fresh-env --builder html {[docs]docs_dir} {[docs]build_dir}{/}html + live : sphinx-autobuild {[docs]sphinx_args} {posargs} --builder html {[docs]docs_dir} {[docs]build_dir}{/}live From 73b4c218750ac14b33f32a39bb44854fe3e7196b Mon Sep 17 00:00:00 2001 From: Russell Keith-Magee Date: Wed, 7 Aug 2024 08:18:50 +0800 Subject: [PATCH 11/14] Add changenote. --- changes/1942.doc.rst | 1 + 1 file changed, 1 insertion(+) create mode 100644 changes/1942.doc.rst diff --git a/changes/1942.doc.rst b/changes/1942.doc.rst new file mode 100644 index 000000000..6a474a73d --- /dev/null +++ b/changes/1942.doc.rst @@ -0,0 +1 @@ +Building Briefcase's documentation now requires the use of Python 3.12. From 073244304b5d612709506b0ba9c2eb6bb3249aba Mon Sep 17 00:00:00 2001 From: Russell Keith-Magee Date: Wed, 7 Aug 2024 08:55:24 +0800 Subject: [PATCH 12/14] Use consistent syntax for base environments. --- tox.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index 32a234178..152296e27 100644 --- a/tox.ini +++ b/tox.ini @@ -101,7 +101,7 @@ build_dir = {[docs]docs_dir}{/}_build sphinx_args = --show-traceback --fail-on-warning --keep-going --jobs auto [testenv:docs{,-lint,-all,-live}] -basepython = python3.12 +base_python = py312 package = wheel wheel_build_env = .pkg extras = docs From f5765ce58e1e6e44a4f68b98aa8df4b372b74202 Mon Sep 17 00:00:00 2001 From: Russell Keith-Magee Date: Thu, 8 Aug 2024 05:46:33 +0800 Subject: [PATCH 13/14] Add timeout for live docs. --- tox.ini | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tox.ini b/tox.ini index 152296e27..a4579ab8e 100644 --- a/tox.ini +++ b/tox.ini @@ -102,6 +102,8 @@ sphinx_args = --show-traceback --fail-on-warning --keep-going --jobs auto [testenv:docs{,-lint,-all,-live}] base_python = py312 +# give sphinx-autobuild time to shutdown http server +suicide_timeout = 1 package = wheel wheel_build_env = .pkg extras = docs From a0a2baa5f1c2f7754417abd84c780c551304e825 Mon Sep 17 00:00:00 2001 From: Russell Keith-Magee Date: Thu, 8 Aug 2024 07:17:03 +0800 Subject: [PATCH 14/14] Add comment breadcrumbs to ensure configs stay in sync. --- .readthedocs.yaml | 1 + docs/how-to/contribute-docs.rst | 2 ++ pyproject.toml | 2 +- tox.ini | 1 + 4 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 080d6ff44..4206b35be 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -7,6 +7,7 @@ version: 2 build: os: ubuntu-22.04 tools: + # Docs are always built on Python 3.12. See also the tox config and contribution docs. python: "3.12" jobs: post_checkout: diff --git a/docs/how-to/contribute-docs.rst b/docs/how-to/contribute-docs.rst index 5e06b9995..45622d1e1 100644 --- a/docs/how-to/contribute-docs.rst +++ b/docs/how-to/contribute-docs.rst @@ -19,6 +19,8 @@ the other index files for clues. Build documentation locally --------------------------- +.. Docs are always built on Python 3.12. See also the RTD and tox config. + To build the documentation locally, :ref:`set up a development environment `. However, you **must** have a Python 3.12 interpreter installed and available on your path (i.e., ``python3.12`` must start a Python 3.12 interpreter). diff --git a/pyproject.toml b/pyproject.toml index 52de65645..33911074f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -106,7 +106,7 @@ dev = [ "setuptools_scm == 8.1.0", "tox == 4.16.0", ] -# Docs are always built on Py3.12; see RTD and tox config files, +# Docs are always built on a specific Python version; see RTD and tox config files, # and the docs contribution guide. docs = [ "furo == 2024.7.18", diff --git a/tox.ini b/tox.ini index a4579ab8e..9e5976f46 100644 --- a/tox.ini +++ b/tox.ini @@ -101,6 +101,7 @@ build_dir = {[docs]docs_dir}{/}_build sphinx_args = --show-traceback --fail-on-warning --keep-going --jobs auto [testenv:docs{,-lint,-all,-live}] +# Docs are always built on Python 3.12. See also the RTD config and contribution docs. base_python = py312 # give sphinx-autobuild time to shutdown http server suicide_timeout = 1