Skip to content

Commit

Permalink
Drop Python 3.8 support
Browse files Browse the repository at this point in the history
Python 3.8 will reach its end of life in October 2024, and
Python 3.9 will become the minimum version required by the project.

Update the Docker images to use Python 3.9, and GitHub workflows
to run tests for Python 3.9, 3.10, 3.11 and 3.12 for future
releases.

Update some pinned dependencies due to old errors that seem to
have been fixed.

Signed-off-by: Jose Javier Merchante <jjmerchante@bitergia.com>
  • Loading branch information
jjmerchante committed Sep 18, 2024
1 parent 91fe8f6 commit 932478f
Show file tree
Hide file tree
Showing 7 changed files with 294 additions and 287 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ jobs:
name: Python ${{ matrix.python-version }}
strategy:
matrix:
python-version: [3.8, 3.9]
python-version: ['3.9', '3.10', '3.11', '3.12']

steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:

strategy:
matrix:
python-version: [3.8, 3.9]
python-version: ['3.9', '3.10', '3.11', '3.12']

runs-on: ubuntu-latest
name: Python ${{ matrix.python-version }}
Expand Down Expand Up @@ -96,7 +96,7 @@ jobs:
strategy:
matrix:
node-version: [18.x, 20.x]
python-version: [3.8, 3.9]
python-version: ['3.9', '3.10', '3.11', '3.12']

runs-on: ubuntu-latest
name: Node ${{ matrix.node-version }} Python ${{ matrix.python-version }}
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ In the context of GrimoireLab, Sorting Hat is usually run after data is retrieve

## Requirements

* Python >= 3.8
* Python >= 3.9
* Poetry >= 1.1.0
* MySQL >= 8.1 or MariaDB >= 10.4
* Django = 4.2
Expand Down
2 changes: 1 addition & 1 deletion docker/server.dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM python:3.8-slim-bullseye
FROM python:3.9-slim-bullseye

LABEL maintainer="Santiago Dueñas <sduenas@bitergia.com>"
LABEL org.opencontainers.image.title="SortingHat"
Expand Down
551 changes: 276 additions & 275 deletions poetry.lock

Large diffs are not rendered by default.

11 changes: 4 additions & 7 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ sortinghatw = "sortinghat.server.sortinghatw:sortinghatw"
sortinghat-admin = "sortinghat.server.sortinghat_admin:sortinghat_admin"

[tool.poetry.dependencies]
python = "^3.8"
python = "^3.9"

click = "^8.0.0"
Django = "^4.2"
Expand All @@ -60,9 +60,9 @@ mysqlclient = "2.0.3"
python-dateutil = "^2.8.2"
requests = "^2.7.0"
Jinja2 = "^3.1.1"
rq = "<1.12.0"
rq = "^1.12.0"
django-rq = "^2.3.2"
pandas = "^1.3.5"
pandas = "^2.2"
django-cors-headers = "^3.7.0"
PyJWT = "^2.4.0"
uWSGI = "^2.0"
Expand All @@ -71,15 +71,12 @@ importlib-resources = "^5.2.0"
setuptools = ">65.5.0"
grimoirelab-toolkit = { version = ">=0.3", allow-prereleases = true}
django-storages = {extras = ["google"], version = "^1.13.2"}
numpy = "==1.22.0"
google-auth = "^2.18.0"

urllib3 = "^1.26" # Pinend to be compatible with Perceval

[tool.poetry.dev-dependencies]
fakeredis = "^2.0.0"
httpretty = "^1.1.4"
flake8 = "^4.0.1"
flake8 = "^7.1.1"

[build-system]
requires = ["poetry-core>=1.0.0"]
Expand Down
9 changes: 9 additions & 0 deletions releases/unreleased/python-version-updated.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
title: Python minimum version updated
category: dependency
author: Jose Javier Merchante <jjmerchante@bitergia.com>
issue: null
notes: >
Python 3.8 will reach its end of life in October 2024.
Python 3.9 is the minimum version required by the project.
Update the Docker images to use Python 3.9.

0 comments on commit 932478f

Please sign in to comment.