diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index a202a66d7..d6c69e002 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -9,13 +9,19 @@ on: jobs: lint-black: + strategy: + matrix: + # minimum tested python version + # maximum python version + py-version: [ "3.11.5", "3.12.13"] + runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Setup Python uses: actions/setup-python@v5 with: - python-version: '3.11' + python-version: ${{ matrix.py-version }} - uses: psf/black@stable with: options: "--check --verbose" @@ -38,13 +44,18 @@ jobs: src: "./tests" lint-pylint: + strategy: + matrix: + # minimum tested python version + # maximum python version + py-version: [ "3.11.5", "3.12.13"] runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Setup Python uses: actions/setup-python@v5 with: - python-version: '3.11' + python-version: ${{ matrix.py-version }} - name: Install dependencies run: | python3 -m pip install --upgrade pip @@ -57,17 +68,27 @@ jobs: pylint src check-translations: + strategy: + matrix: + # minimum tested python version + # maximum python version + py-version: [ "3.11.5", "3.12.13"] runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Setup Python uses: actions/setup-python@v5 with: - python-version: '3.11' + python-version: ${{ matrix.py-version }} - name: Validate translations run: cd i18n && python3 i18n.py validate run-tests: + strategy: + matrix: + # minimum tested python version + # maximum python version + py-version: [ "3.11.5", "3.12.13"] runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -76,7 +97,7 @@ jobs: - name: Setup Python uses: actions/setup-python@v5 with: - python-version: '3.11' + python-version: ${{ matrix.py-version }} - name: Install dependencies run: | python3 -m pip install --upgrade pip @@ -95,7 +116,8 @@ jobs: - name: Setup Python uses: actions/setup-python@v5 with: - python-version: '3.11' + # no need to use many coverages + python-version: 3.12.13 - name: Install dependencies run: | python3 -m pip install --upgrade pip diff --git a/poetry.lock b/poetry.lock index 3aa16bf64..9562294f0 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 2.3.3 and should not be changed by hand. +# This file is automatically @generated by Poetry 2.3.1 and should not be changed by hand. [[package]] name = "astroid" @@ -420,15 +420,15 @@ profile = ["gprof2dot (>=2022.7.29)"] [[package]] name = "embit" version = "0.8.0" -description = "A minimal bitcoin library for MicroPython and Python3 with a focus on embedded systems." +description = "A minimal bitcoin library for MicroPython and CPython 3.10+ with a focus on embedded systems." optional = false -python-versions = "^3.0" +python-versions = ">=3.10" groups = ["main"] files = [] develop = true [package.extras] -dev = ["black", "mkdocs", "mkdocs-material", "mkdocstrings[python]", "mypy", "pre-commit", "pytest", "pytest-cov", "requests"] +dev = ["black", "mkdocs", "mkdocs-material", "mkdocstrings[python]", "mypy", "pre-commit", "pytest", "pytest-cov", "requests", "ruff"] [package.source] type = "directory" @@ -1301,7 +1301,10 @@ files = [ [package.dependencies] astroid = ">=4.0.2,<=4.1.dev0" colorama = {version = ">=0.4.5", markers = "sys_platform == \"win32\""} -dill = {version = ">=0.3.7", markers = "python_version >= \"3.12\""} +dill = [ + {version = ">=0.3.7", markers = "python_version >= \"3.12\""}, + {version = ">=0.3.6", markers = "python_version == \"3.11\""}, +] isort = ">=5,<5.13 || >5.13,<9" mccabe = ">=0.6,<0.8" platformdirs = ">=2.2" @@ -1825,5 +1828,5 @@ simulator = ["Pillow", "numpy", "opencv-python", "pygame", "pyzbar"] [metadata] lock-version = "2.1" -python-versions = "^3.12.3" -content-hash = "70d5a90b1031241e83ab4cf3c73c0ab8a469368e8cd8a6761b0faf94f321b505" +python-versions = ">=3.11.5, <3.13" +content-hash = "84b3333b5d91b1529bc96f97b53be9fd952aef6d8e103d1e2d8221d2884a915a" diff --git a/pyproject.toml b/pyproject.toml index 7e7950ad8..0be8d0789 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -29,7 +29,7 @@ readme = "README.md" license = "MIT" [tool.poetry.dependencies] -python = "^3.12.3" +python = ">=3.11.5, <3.13" # minimum and maximum supported embit = { path = "./vendor/embit/", develop = true } ur = { path = "./vendor/foundation-ur-py/", develop = true } urtypes = { path = "./vendor/urtypes/", develop = true }