From 636b3e00d5f3383ecf7aff1388796e290cd5a126 Mon Sep 17 00:00:00 2001 From: Eliah Kagan Date: Thu, 2 Jan 2025 03:40:48 -0500 Subject: [PATCH 1/4] Test Python 3.7 on Ubuntu 22.04, and add Ubuntu 3.13 This is analogous to the gitdb test workflow and `setup.py` updates in https://github.com/gitpython-developers/gitdb/pull/114. 1. Testing 3.7 on 22.04 rather than 24.04 should fix the problem where it fails because Python 3.7 is not available. 2. Adding Ubuntu 3.13 to CI may help reveal if there are 3.13-specific problems with smmap. 3. smmap seems to be working on Python 3.13 (which is a stable Python release) and there are no specific expected problems with it, so this adds it to the list of supported releases. In particular, this change, due to (1), fixes the current CI failure for smmap observed in f31bfa3. --- .github/workflows/pythonpackage.yml | 10 +++++++--- setup.py | 1 + 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pythonpackage.yml b/.github/workflows/pythonpackage.yml index fd73d6d..ab0a8ef 100644 --- a/.github/workflows/pythonpackage.yml +++ b/.github/workflows/pythonpackage.yml @@ -7,13 +7,17 @@ on: [push, pull_request, workflow_dispatch] jobs: build: - - runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"] + python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12", "3.13"] include: - experimental: false + - os: ubuntu-latest + - python-version: "3.7" + os: ubuntu-22.04 + + runs-on: ${{ matrix.os }} + continue-on-error: ${{ matrix.experimental }} steps: diff --git a/setup.py b/setup.py index d7e1842..7deb178 100755 --- a/setup.py +++ b/setup.py @@ -44,6 +44,7 @@ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3 :: Only", ], long_description=long_description, From 13b8c9b8d97ed499076fdf9e75fe51a2cd92562a Mon Sep 17 00:00:00 2001 From: Eliah Kagan Date: Sun, 5 Jan 2025 03:17:00 -0500 Subject: [PATCH 2/4] Add SECURITY.md, referencing the GitPython one See https://github.com/gitpython-developers/gitdb/issues/116. --- SECURITY.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 SECURITY.md diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000..9e0c0d1 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,3 @@ +# Security Policy + +See [GitPython](https://github.com/gitpython-developers/GitPython/blob/main/SECURITY.md). Vulnerabilities found in `smmap` can be reported there. From 0664fe8e5f05dc13f733d91368d6d42db6852b63 Mon Sep 17 00:00:00 2001 From: Eliah Kagan Date: Fri, 30 May 2025 16:21:55 -0400 Subject: [PATCH 3/4] Specify explicit `contents: read` workflow permissions This change is analogous to gitpython-developers/GitPython#2033. See also gitpython-developers/gitdb#121. --- .github/workflows/pythonpackage.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/pythonpackage.yml b/.github/workflows/pythonpackage.yml index ab0a8ef..1671d9a 100644 --- a/.github/workflows/pythonpackage.yml +++ b/.github/workflows/pythonpackage.yml @@ -5,6 +5,9 @@ name: Python package on: [push, pull_request, workflow_dispatch] +permissions: + contents: read + jobs: build: strategy: From 90738a9de6bcc9c8a406aeee69201aff5b85c05a Mon Sep 17 00:00:00 2001 From: Eliah Kagan Date: Fri, 30 May 2025 16:40:46 -0400 Subject: [PATCH 4/4] Add CI test job for no-GIL ("threaded") Python 3.13 See https://github.com/gitpython-developers/GitPython/issues/2005, and https://github.com/gitpython-developers/gitdb/pull/122 for rationale. In short, if the corresponding check starts to fail in GitPython, it may be useful to observe if there is a failure here as well. --- .github/workflows/pythonpackage.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pythonpackage.yml b/.github/workflows/pythonpackage.yml index 1671d9a..8935881 100644 --- a/.github/workflows/pythonpackage.yml +++ b/.github/workflows/pythonpackage.yml @@ -12,7 +12,7 @@ jobs: build: strategy: matrix: - python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12", "3.13"] + python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.13t"] include: - experimental: false - os: ubuntu-latest