diff --git a/.github/workflows/resultsdb.yaml b/.github/workflows/resultsdb.yaml index 185d527..eeb11c8 100644 --- a/.github/workflows/resultsdb.yaml +++ b/.github/workflows/resultsdb.yaml @@ -16,16 +16,16 @@ jobs: python-version: ["3.13"] steps: - - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - name: Install uv - uses: astral-sh/setup-uv@2ddd2b9cb38ad8efd50337e8ab201519a34c9f24 # v7 + uses: astral-sh/setup-uv@37802adc94f370d6bfd71619e3f0bf239e1f3b78 # v7 with: enable-cache: true python-version: ${{ matrix.python-version }} - name: Install system dependencies - uses: nick-invision/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # v3 + uses: nick-invision/retry@ad984534de44a9489a53aefd81eb77f87c70dc60 # v4 with: timeout_minutes: 10 retry_wait_seconds: 30 @@ -66,7 +66,7 @@ jobs: - Dockerfile steps: - - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: hadolint/hadolint-action@2332a7b74a6de0dda2e2221d575162eba76ba5e5 # v3.3.0 with: diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 2fc6351..93a39e3 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -40,7 +40,7 @@ repos: # Linter and formatter - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.15.12 + rev: v0.15.15 hooks: - id: ruff args: @@ -56,7 +56,7 @@ repos: # Type linter - repo: https://github.com/pre-commit/mirrors-mypy - rev: v1.20.2 + rev: v2.1.0 hooks: - id: mypy args: diff --git a/Dockerfile b/Dockerfile index b1d5c84..f7fbe51 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM quay.io/fedora/python-313:20260319@sha256:95100620c772c9f4484923bb8d4e942c8da2a60ee32a84a905d612d7115b1a44 AS builder +FROM quay.io/fedora/python-313:20260529@sha256:e96d6de3dac3954be9e89f462c446837a8b0fd4d9ace8a8051d0c204a5b64ae9 AS builder # builder should use root to install/create all files USER root diff --git a/pyproject.toml b/pyproject.toml index a661421..7fbf135 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -10,9 +10,9 @@ readme = "README.md" requires-python = ">=3.12,<3.14" dependencies = [ "flask>=3.0.1,<4.0.0", - "gunicorn>=25.1.0,<25.2.0", + "gunicorn>=26.0.0,<26.1.0", "fedora-messaging>=3.4.1,<4.0.0", - "stomp-py>=8.2.0,<9.0.0", + "stomp-py>=9.0.0,<9.1.0", "Flask-SQLAlchemy>=3.1.1,<4.0.0", "SQLAlchemy>=2.0.36,<3.0.0", "psycopg2-binary>=2.9.10,<3.0.0", diff --git a/uv.lock b/uv.lock index ce58cea..c358c43 100644 --- a/uv.lock +++ b/uv.lock @@ -305,10 +305,13 @@ wheels = [ ] [[package]] -name = "docopt" -version = "0.6.2" +name = "docopt-ng" +version = "0.9.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a2/55/8f8cab2afd404cf578136ef2cc5dfb50baa1761b68c9da1fb1e4eed343c9/docopt-0.6.2.tar.gz", hash = "sha256:49b3a825280bd66b3aa83585ef59c4a8c82f2c8a522dbe754a8bc8d08c85c491", size = 25901, upload-time = "2014-06-16T11:18:57.406Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e4/50/8d6806cf13138127692ae6ff79ddeb4e25eb3b0bcc3c1bd033e7e04531a9/docopt_ng-0.9.0.tar.gz", hash = "sha256:91c6da10b5bb6f2e9e25345829fb8278c78af019f6fc40887ad49b060483b1d7", size = 32264, upload-time = "2023-05-30T20:46:25.064Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6c/4a/c3b77fc1a24510b08918b43a473410c0168f6e657118807015f1f1edceea/docopt_ng-0.9.0-py3-none-any.whl", hash = "sha256:bfe4c8b03f9fca424c24ee0b4ffa84bf7391cb18c29ce0f6a8227a3b01b81ff9", size = 16689, upload-time = "2023-05-30T20:46:45.294Z" }, +] [[package]] name = "email-validator" @@ -494,14 +497,14 @@ wheels = [ [[package]] name = "gunicorn" -version = "25.1.0" +version = "26.0.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "packaging" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/66/13/ef67f59f6a7896fdc2c1d62b5665c5219d6b0a9a1784938eb9a28e55e128/gunicorn-25.1.0.tar.gz", hash = "sha256:1426611d959fa77e7de89f8c0f32eed6aa03ee735f98c01efba3e281b1c47616", size = 594377, upload-time = "2026-02-13T11:09:58.989Z" } +sdist = { url = "https://files.pythonhosted.org/packages/6d/b7/a4a3f632f823e432ce6bc65f62961b7980c898c77f075a2f7118cb3846fe/gunicorn-26.0.0.tar.gz", hash = "sha256:ca9346f85e3a4aeeb64d491045c16b9a35647abd37ea15efe53080eb8b090baf", size = 727286, upload-time = "2026-05-05T06:38:25.529Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/da/73/4ad5b1f6a2e21cf1e85afdaad2b7b1a933985e2f5d679147a1953aaa192c/gunicorn-25.1.0-py3-none-any.whl", hash = "sha256:d0b1236ccf27f72cfe14bce7caadf467186f19e865094ca84221424e839b8b8b", size = 197067, upload-time = "2026-02-13T11:09:57.146Z" }, + { url = "https://files.pythonhosted.org/packages/e6/40/9c2384fc2be4ad25dd4a49decd5ad9ea5a3639814c11bd40ab77cb9f0a14/gunicorn-26.0.0-py3-none-any.whl", hash = "sha256:40233d26a5f0d1872916188c276e21641155111c2853f0c2cd55260aec0d24fc", size = 212009, upload-time = "2026-05-05T06:38:23.007Z" }, ] [[package]] @@ -1268,7 +1271,7 @@ requires-dist = [ { name = "flask-pyoidc", specifier = ">=3.14.3,<4.0.0" }, { name = "flask-session", specifier = ">=0.8.0,<1.0.0" }, { name = "flask-sqlalchemy", specifier = ">=3.1.1,<4.0.0" }, - { name = "gunicorn", specifier = ">=25.1.0,<25.2.0" }, + { name = "gunicorn", specifier = ">=26.0.0,<26.1.0" }, { name = "iso8601", specifier = ">=2.1.0,<3.0.0" }, { name = "opentelemetry-exporter-otlp", specifier = ">=1.25.0,<2.0.0" }, { name = "opentelemetry-instrumentation", specifier = ">=0.46b0,<1.0.0" }, @@ -1280,7 +1283,7 @@ requires-dist = [ { name = "pytest-cov", marker = "extra == 'test'", specifier = ">=7.0.0,<8.0.0" }, { name = "python-ldap", specifier = ">=3.4.3,<4.0.0" }, { name = "sqlalchemy", specifier = ">=2.0.36,<3.0.0" }, - { name = "stomp-py", specifier = ">=8.2.0,<9.0.0" }, + { name = "stomp-py", specifier = ">=9.0.0,<9.1.0" }, { name = "tenacity", specifier = ">=9.0.0,<10.0.0" }, ] provides-extras = ["test"] @@ -1396,15 +1399,15 @@ wheels = [ [[package]] name = "stomp-py" -version = "8.2.0" +version = "9.0.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "docopt" }, + { name = "docopt-ng" }, { name = "websocket-client" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/bc/66/c07f01feb5fbc669c4333c76eb02fb8149c653c25ba9769477f8427d5e55/stomp_py-8.2.0.tar.gz", hash = "sha256:9908689361e263bf198e6acfb3c4386759fb7df7d141f4384d7414771c68d7fc", size = 39286, upload-time = "2024-10-31T21:59:38.465Z" } +sdist = { url = "https://files.pythonhosted.org/packages/3f/9d/2eac45f75ce1f9708cf23c5361e74d0b855013d842d3c0aef64ce0667405/stomp_py-9.0.0.tar.gz", hash = "sha256:77b63fdd6cb2fb5e3d7032c5e1cde70c005f498d6096b77827efe71913196464", size = 39701, upload-time = "2026-05-12T19:05:15.221Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7b/b6/ebfd6daef0c19a5ca3ac1fb2fc092331d67af5a30c868f106fcc2504c287/stomp_py-8.2.0-py3-none-any.whl", hash = "sha256:fad24e51b505996015a39ca1632df4e0225c1c552980955e21f2aebfc0d9d85c", size = 42751, upload-time = "2024-10-31T21:59:36.658Z" }, + { url = "https://files.pythonhosted.org/packages/a5/99/b010daaf1db86ea6ff3b831e70a5484bfe9c4fbf2f5f2ad6578160c56917/stomp_py-9.0.0-py3-none-any.whl", hash = "sha256:d115c85950b92dad358d11bc361b23d23994d21ff7eef50119f487f718ea4be2", size = 44242, upload-time = "2026-05-12T19:05:16.657Z" }, ] [[package]]