diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 7a42c7c..beb7955 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -15,11 +15,11 @@ jobs: fail-fast: false matrix: python-version: [ - "3.9", "3.10", "3.11", "3.12", "3.13", + "3.14", ] steps: - name: "Check out repository" @@ -46,11 +46,11 @@ jobs: fail-fast: false matrix: python-version: [ - "3.9", "3.10", "3.11", "3.12", "3.13", + "3.14", ] steps: - name: "Check out repository" diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index a3c044f..0dabf59 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -4,7 +4,7 @@ repos: hooks: - id: end-of-file-fixer - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.14.4 + rev: v0.14.5 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix] diff --git a/Dockerfile b/Dockerfile index 78f4bc4..783433c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,7 +6,7 @@ FROM ubuntu:${UBUNTU_VERSION} AS base ARG USER_ID=1000 ARG GROUP_ID=1000 -ARG PYTHON_VERSION=3.9 +ARG PYTHON_VERSION=3.10 ARG PYENV_DIR=/pyenv ARG SELENIUM_DIR=/selenium @@ -59,7 +59,7 @@ RUN set -ex \ FROM base AS pyenv-builder -ARG PYTHON_VERSION=3.9 +ARG PYTHON_VERSION RUN set -ex \ && apt-get -qqy update \ diff --git a/amuser/am_docker_ability.py b/amuser/am_docker_ability.py index 764fd56..3394999 100644 --- a/amuser/am_docker_ability.py +++ b/amuser/am_docker_ability.py @@ -63,7 +63,7 @@ def get_tasks_from_sip_uuid( keys = [k.strip() for k in lines[0].strip(" |").split("|")] for line in lines[1:]: vals = [v.strip() for v in line.strip(" |").split("|")] - tasks.append(dict(zip(keys, vals))) + tasks.append(dict(zip(keys, vals, strict=False))) return tasks def get_processes(self): diff --git a/features/steps/utils.py b/features/steps/utils.py index 0604013..fd3d085 100644 --- a/features/steps/utils.py +++ b/features/steps/utils.py @@ -1235,5 +1235,5 @@ def assert_equal_lxml_elements(a, b): assert d_a == d_b, f"Attributes of {a} and {b} did not match" - for i, j in zip(a, b): + for i, j in zip(a, b, strict=False): assert_equal_lxml_elements(i, j) diff --git a/pyproject.toml b/pyproject.toml index 190b766..be054f6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "archivematica-acceptance-tests" description = "Archivematica Automated User Acceptance Tests (AMAUAT)" -requires-python = ">=3.9" +requires-python = ">=3.10" # The project.version field is required in pyproject.toml files, even if this # project is not yet versioned. Using a placeholder for now. version = "0.0.0" @@ -23,9 +23,6 @@ dev = [ "tox", ] -[tool.ruff] -target-version = "py39" - [tool.ruff.lint] # Rule reference: https://docs.astral.sh/ruff/rules/ select = [ diff --git a/requirements-dev.txt b/requirements-dev.txt index 5d1a653..aa848be 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.9 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # pip-compile --allow-unsafe --extra=dev --output-file=requirements-dev.txt pyproject.toml @@ -14,9 +14,9 @@ behave==1.3.3 # via archivematica-acceptance-tests (pyproject.toml) build==1.3.0 # via pip-tools -cachetools==6.2.1 +cachetools==6.2.2 # via tox -certifi==2025.10.5 +certifi==2025.11.12 # via # requests # selenium @@ -24,7 +24,7 @@ chardet==5.2.0 # via tox charset-normalizer==3.4.4 # via requests -click==8.1.8 +click==8.3.1 # via pip-tools colorama==0.4.6 # via @@ -32,7 +32,7 @@ colorama==0.4.6 # tox cucumber-expressions==18.0.1 # via behave -cucumber-tag-expressions==7.0.0 +cucumber-tag-expressions==8.0.0 # via behave distlib==0.4.0 # via virtualenv @@ -40,7 +40,7 @@ exceptiongroup==1.3.0 # via # trio # trio-websocket -filelock==3.19.1 +filelock==3.20.0 # via # tox # virtualenv @@ -50,8 +50,6 @@ idna==3.11 # via # requests # trio -importlib-metadata==8.7.0 - # via build lxml==6.0.2 # via # archivematica-acceptance-tests (pyproject.toml) @@ -75,9 +73,9 @@ parse-type==0.6.6 # via behave pexpect==4.9.0 # via archivematica-acceptance-tests (pyproject.toml) -pip-tools==7.5.1 +pip-tools==7.5.2 # via archivematica-acceptance-tests (pyproject.toml) -platformdirs==4.4.0 +platformdirs==4.5.0 # via # tox # virtualenv @@ -85,7 +83,7 @@ pluggy==1.6.0 # via tox ptyprocess==0.7.0 # via pexpect -pyproject-api==1.9.1 +pyproject-api==1.10.0 # via tox pyproject-hooks==1.2.0 # via @@ -97,9 +95,9 @@ requests==2.32.5 # via # amclient # archivematica-acceptance-tests (pyproject.toml) -ruff==0.14.4 +ruff==0.14.5 # via archivematica-acceptance-tests (pyproject.toml) -selenium==4.36.0 +selenium==4.38.0 # via archivematica-acceptance-tests (pyproject.toml) six==1.17.0 # via @@ -118,9 +116,9 @@ tomli==2.3.0 # pip-tools # pyproject-api # tox -tox==4.30.3 +tox==4.32.0 # via archivematica-acceptance-tests (pyproject.toml) -trio==0.31.0 +trio==0.32.0 # via # selenium # trio-websocket @@ -143,12 +141,8 @@ websocket-client==1.9.0 # via selenium wheel==0.45.1 # via pip-tools -win-unicode-console==0.5 - # via behave -wsproto==1.2.0 +wsproto==1.3.1 # via trio-websocket -zipp==3.23.0 - # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: pip==25.3 diff --git a/requirements.txt b/requirements.txt index 6f64049..860fdfd 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.9 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # pip-compile --allow-unsafe --output-file=requirements.txt pyproject.toml @@ -12,7 +12,7 @@ attrs==25.4.0 # trio behave==1.3.3 # via archivematica-acceptance-tests (pyproject.toml) -certifi==2025.10.5 +certifi==2025.11.12 # via # requests # selenium @@ -22,7 +22,7 @@ colorama==0.4.6 # via behave cucumber-expressions==18.0.1 # via behave -cucumber-tag-expressions==7.0.0 +cucumber-tag-expressions==8.0.0 # via behave exceptiongroup==1.3.0 # via @@ -60,7 +60,7 @@ requests==2.32.5 # via # amclient # archivematica-acceptance-tests (pyproject.toml) -selenium==4.36.0 +selenium==4.38.0 # via archivematica-acceptance-tests (pyproject.toml) six==1.17.0 # via @@ -74,7 +74,7 @@ tenacity==9.1.2 # via archivematica-acceptance-tests (pyproject.toml) tomli==2.3.0 # via behave -trio==0.31.0 +trio==0.32.0 # via # selenium # trio-websocket @@ -91,7 +91,5 @@ urllib3[socks]==2.5.0 # selenium websocket-client==1.9.0 # via selenium -win-unicode-console==0.5 - # via behave -wsproto==1.2.0 +wsproto==1.3.1 # via trio-websocket