diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 079b8e3..0b90bfe 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -67,14 +67,14 @@ jobs: - name: Set up Python uses: actions/setup-python@v5 with: - python-version: "3.11" + python-version: "3.13" - name: Load cached Poetry installation id: cached-poetry uses: actions/cache@v4 with: path: ~/.local - key: poetry-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }} + key: poetry-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }}-3.13 - name: Install Poetry if: steps.cached-poetry.outputs.cache-hit != 'true' @@ -88,7 +88,7 @@ jobs: uses: actions/cache@v4 with: path: .venv - key: poetry-venv-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }} + key: poetry-venv-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }}-3.13 - name: Install dependencies if: steps.cached-poetry-venv.outputs.cache-hit != 'true' diff --git a/.github/workflows/quality.yml b/.github/workflows/quality.yml index 9707339..0549307 100644 --- a/.github/workflows/quality.yml +++ b/.github/workflows/quality.yml @@ -19,6 +19,11 @@ env: jobs: cache: runs-on: ubuntu-latest + strategy: + matrix: + python-version: + - "3.12" + - "3.13" steps: - name: Checkout uses: actions/checkout@v4 @@ -26,14 +31,14 @@ jobs: - name: Install Python uses: actions/setup-python@v5 with: - python-version: "3.11" + python-version: ${{ matrix.python-version }} - name: Load cached Poetry installation id: cached-poetry uses: actions/cache@v4 with: path: ~/.local - key: poetry-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }} + key: poetry-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }}-${{ matrix.python-version }} - name: Install Poetry if: steps.cached-poetry.outputs.cache-hit != 'true' @@ -47,7 +52,7 @@ jobs: uses: actions/cache@v4 with: path: .venv - key: poetry-venv-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }} + key: poetry-venv-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }}-${{ matrix.python-version }} - name: Install dependencies if: steps.cached-poetry-venv.outputs.cache-hit != 'true' @@ -59,6 +64,11 @@ jobs: ruff: needs: cache runs-on: ubuntu-latest + strategy: + matrix: + python-version: + - "3.12" + - "3.13" steps: - name: Checkout uses: actions/checkout@v4 @@ -66,19 +76,19 @@ jobs: - name: Install Python uses: actions/setup-python@v5 with: - python-version: "3.11" + python-version: ${{ matrix.python-version }} - name: Load cached Poetry installation uses: actions/cache@v4 with: path: ~/.local - key: poetry-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }} + key: poetry-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }}-${{ matrix.python-version }} - name: Load cached Poetry venv uses: actions/cache@v4 with: path: ~/.venv - key: poetry-venv-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }} + key: poetry-venv-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }}-${{ matrix.python-version }} - name: Install package run: | @@ -91,6 +101,11 @@ jobs: mypy: needs: cache runs-on: ubuntu-latest + strategy: + matrix: + python-version: + - "3.12" + - "3.13" steps: - name: Checkout uses: actions/checkout@v4 @@ -98,19 +113,19 @@ jobs: - name: Install Python uses: actions/setup-python@v5 with: - python-version: "3.11" + python-version: ${{ matrix.python-version }} - name: Load cached Poetry installation uses: actions/cache@v4 with: path: ~/.local - key: poetry-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }} + key: poetry-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }}-${{ matrix.python-version }} - name: Load cached Poetry venv uses: actions/cache@v4 with: path: ~/.venv - key: poetry-venv-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }} + key: poetry-venv-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }}-${{ matrix.python-version }} - name: Install package run: | @@ -141,13 +156,13 @@ jobs: uses: actions/cache@v4 with: path: ~/.local - key: poetry-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }} + key: poetry-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }}-${{ matrix.python-version }} - name: Load cached Poetry venv uses: actions/cache@v4 with: path: ~/.venv - key: poetry-venv-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }} + key: poetry-venv-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }}-${{ matrix.python-version }} - name: Install package run: | @@ -160,6 +175,11 @@ jobs: sonar: needs: cache runs-on: ubuntu-latest + strategy: + matrix: + python-version: + - "3.12" + - "3.13" steps: - name: Checkout uses: actions/checkout@v4 @@ -169,19 +189,19 @@ jobs: - name: Install Python uses: actions/setup-python@v5 with: - python-version: "3.11" + python-version: ${{ matrix.python-version }} - name: Load cached Poetry installation uses: actions/cache@v4 with: path: ~/.local - key: poetry-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }} + key: poetry-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }}-${{ matrix.python-version }} - name: Load cached Poetry venv uses: actions/cache@v4 with: path: ~/.venv - key: poetry-venv-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }} + key: poetry-venv-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }}-${{ matrix.python-version }} - name: Install package run: | @@ -207,4 +227,4 @@ jobs: -Dsonar.python.coverage.reportPaths=coverage.xml -Dsonar.sources=eq3btsmart -Dsonar.tests=tests - -Dsonar.python.version=3.11 + -Dsonar.python.version=${{ matrix.python-version }} diff --git a/poetry.lock b/poetry.lock index 4450f5a..199a498 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1376,7 +1376,21 @@ description = "High availability Bluetooth" optional = false python-versions = "<3.14,>=3.11" files = [ + {file = "habluetooth-3.5.0-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:1da6ee7520180d6e3343256b29be8e0cf4656e9b4dc28da10c0a177bc8bc26c1"}, + {file = "habluetooth-3.5.0-cp311-cp311-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:7555ddb45960838333057d068a1e75fdfd45afb7d0e701ab4541df17351730a9"}, + {file = "habluetooth-3.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3bbbee14dc22a180a453f3a9bb6ba7bdca97a8907abf76ad48b5d785dc76a5e5"}, {file = "habluetooth-3.5.0-cp311-cp311-manylinux_2_31_x86_64.whl", hash = "sha256:3f4fcc28c01b7c18d75e4353080fd0ac53847fdfdfafa8767d77ac10232a7648"}, + {file = "habluetooth-3.5.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:afd055634fcfb3934124b8a9bef137c0bf697e35086ea17b30478facab474725"}, + {file = "habluetooth-3.5.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:9ba034c980f46c34c76b7f252332c2eb2c6573788ed23a052dcf61d9f69ccde6"}, + {file = "habluetooth-3.5.0-cp311-cp311-win32.whl", hash = "sha256:b65d9efcf7f71d45f9c7703caea3d265b42d45d6b6c2d059c9ecebb1ade19911"}, + {file = "habluetooth-3.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:1a2e9fb3de75a7d94ff53d0a8b314d4fe5312aa95ed8fb1d33e1cbb92ca0daf1"}, + {file = "habluetooth-3.5.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:1bd261bf5f994ee9df5fb1163ad8c324f5ffa3fe0801f5799739c7a4c4f6cd7c"}, + {file = "habluetooth-3.5.0-cp312-cp312-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:3ad6a4b2e7c3a78d2d4e1ae6b24ae09eeb41f554372597f89da52d4e3d2fa45d"}, + {file = "habluetooth-3.5.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eb2927112137f55a40ae0096148d5b00f3e5d5a669977c95355766402d97e951"}, + {file = "habluetooth-3.5.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:cd89982435679e0e82071de2bf94e7ab16765c4684fb0c57d8f168c939cf11f2"}, + {file = "habluetooth-3.5.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f4f86b2a4da98a081304accdd56d459a6c5305db7b1b928927882be55d435eaa"}, + {file = "habluetooth-3.5.0-cp312-cp312-win32.whl", hash = "sha256:f6babc14cad589a9291e8999715dddcb838302069051c1bcaaaf047c521983a9"}, + {file = "habluetooth-3.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:ecd2b8119f3c10f8a8d19827edf1f1be38490de7b902b843d97e6acd43f663a4"}, {file = "habluetooth-3.5.0.tar.gz", hash = "sha256:cdcd306eecdaff844597d884f324c9021cf8f7cb8a0b9ba674b83bb78f9fc3e5"}, ] @@ -1753,6 +1767,16 @@ files = [ {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac"}, {file = "MarkupSafe-2.1.3-cp311-cp311-win32.whl", hash = "sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb"}, {file = "MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f698de3fd0c4e6972b92290a45bd9b1536bffe8c6759c62471efaa8acb4c37bc"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:aa57bd9cf8ae831a362185ee444e15a93ecb2e344c8e52e4d721ea3ab6ef1823"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffcc3f7c66b5f5b7931a5aa68fc9cecc51e685ef90282f4a82f0f5e9b704ad11"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47d4f1c5f80fc62fdd7777d0d40a2e9dda0a05883ab11374334f6c4de38adffd"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1f67c7038d560d92149c060157d623c542173016c4babc0c1913cca0564b9939"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9aad3c1755095ce347e26488214ef77e0485a3c34a50c5a5e2471dff60b9dd9c"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:14ff806850827afd6b07a5f32bd917fb7f45b046ba40c57abdb636674a8b559c"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8f9293864fe09b8149f0cc42ce56e3f0e54de883a9de90cd427f191c346eb2e1"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-win32.whl", hash = "sha256:715d3562f79d540f251b99ebd6d8baa547118974341db04f5ad06d5ea3eb8007"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-win_amd64.whl", hash = "sha256:1b8dd8c3fd14349433c79fa8abeb573a55fc0fdd769133baac1f5e07abf54aeb"}, {file = "MarkupSafe-2.1.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2"}, {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb0932dc158471523c9637e807d9bfb93e06a95cbf010f1a38b98623b929ef2b"}, {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707"},