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 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 <[email protected]>
  • Loading branch information
jjmerchante committed Sep 20, 2024
1 parent 05b9592 commit f6bf26b
Show file tree
Hide file tree
Showing 8 changed files with 325 additions and 364 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:
name: Python ${{ matrix.python-version }} for ES ${{ matrix.elasticsearch-version }}
strategy:
matrix:
python-version: ['3.8', '3.9', '3.10']
python-version: ['3.9', '3.10', '3.11']
elasticsearch-version: [ 6.8.6, 7.2.0 ]
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:
name: Python ${{ matrix.python-version }} for ES ${{ matrix.elasticsearch-version }}
strategy:
matrix:
python-version: ['3.8', '3.9', '3.10']
python-version: ['3.9', '3.10', '3.11']
elasticsearch-version: [6.8.6, 7.2.0]

steps:
Expand Down
2 changes: 1 addition & 1 deletion grimoire_elk/enriched/enrich.py
Original file line number Diff line number Diff line change
Expand Up @@ -1005,7 +1005,7 @@ def add_non_authored_fields(author_uuid, uuid, new_eitem, new_list, non_authored
field = rol + "_multi" + suffix

new_list = sh_fields[field]
if type(new_list) != list:
if not isinstance(new_list, list):
new_list = [new_list]

try:
Expand Down
2 changes: 1 addition & 1 deletion grimoire_elk/enriched/functest.py
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ def get_rich_item(self, item):
eitem['tests'] = func_test['details']['tests']
if 'failures' in func_test['details']:

if type(func_test['details']['failures']) == list:
if isinstance(func_test['details']['failures'], list):
eitem['failures'] = len(func_test['details']['failures'])
else:
eitem['failures'] = func_test['details']['failures']
Expand Down
2 changes: 1 addition & 1 deletion grimoire_elk/enriched/github.py
Original file line number Diff line number Diff line change
Expand Up @@ -685,7 +685,7 @@ def __get_opened_issues(self, es_in, in_index, repository_url, date, interval, o
next_date = (str_to_datetime(date).replace(tzinfo=None)
+ relativedelta(days=interval)
).strftime('%Y-%m-%dT%H:%M:%S.000Z')
if(other):
if other:
issues = es_in.search(
index=in_index,
body=get_issues_not_closed_other_label(repository_url, next_date, reduced_labels)
Expand Down
656 changes: 306 additions & 350 deletions poetry.lock

Large diffs are not rendered by default.

15 changes: 6 additions & 9 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ version = "1.1.5"
description = "GrimoireELK processes and stores software development data to ElasticSearch"
readme = "README.md"
authors = [
"Bitergia <[email protected]>"
"GrimoireLab Developers"
]
repository = "https://github.com/chaoss/grimoirelab-elk"
keywords = ["development repositories analytics"]
Expand All @@ -15,7 +15,6 @@ classifiers=[
'Topic :: Software Development',
'License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.8'
]

packages = [
Expand All @@ -38,14 +37,14 @@ p2o = 'utils.p2o:main'
gelk_mapping = 'utils.gelk_mapping:main'

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

elasticsearch = "6.3.1"
elasticsearch-dsl = "6.3.1"
requests = "^2.7.0"
urllib3 = "^1.26"
urllib3 = ">=1.26,<3"
geopy = "^2.0.0"
pandas = "^1.3.5"
pandas = ">=0.22,<3"
statsmodels = ">=0.9.0"
sortinghat = { version = ">=0.7.20", allow-prereleases = true}
grimoirelab-toolkit = { version = ">=0.3", allow-prereleases = true}
Expand All @@ -56,13 +55,11 @@ perceval-mozilla = { version = ">=0.3", allow-prereleases = true}
perceval-opnfv = { version = ">=0.2", allow-prereleases = true}
perceval-puppet = { version = ">=0.2", allow-prereleases = true}
perceval-weblate = { version = ">=0.2", allow-prereleases = true}
numpy = "^1.21.0"
scipy = ">=1.7.0"

[tool.poetry.dev-dependencies]
httpretty = "^1.1.4"
flake8 = "^4.0.1"
coverage = "^5.5"
flake8 = "^7.1.1"
coverage = "^7.2.3"

[build-system]
requires = ["poetry-core>=1.0.0"]
Expand Down
8 changes: 8 additions & 0 deletions releases/unreleased/python-minimum-version-updated.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
title: Python minimum version updated
category: dependency
author: Jose Javier Merchante <[email protected]>
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.

0 comments on commit f6bf26b

Please sign in to comment.