diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml
index e29330b..85f0b5e 100644
--- a/.github/workflows/pre-commit.yml
+++ b/.github/workflows/pre-commit.yml
@@ -29,7 +29,7 @@ jobs:
     - name: Setup Python
       uses: actions/setup-python@v5
       with:
-        python-version: '3.11'
+        python-version: '3.12'
     - name: Install uv
       run: curl -LsSf https://astral.sh/uv/install.sh | sh
     - name: Install dependencies
@@ -43,6 +43,7 @@ jobs:
       run: pre-commit run --all
       env:
         RUFF_OUTPUT_FORMAT: github
+        REUSE_OUTPUT_FORMAT: github
     - name: diff
       run: git diff
       if: always()
diff --git a/.github/workflows/pull_requests.yaml b/.github/workflows/pull_requests.yaml
index 0e348ac..deb93f7 100644
--- a/.github/workflows/pull_requests.yaml
+++ b/.github/workflows/pull_requests.yaml
@@ -18,7 +18,7 @@ jobs:
     permissions:
       pull-requests: write
       contents: write
-    runs-on: ubuntu-latest
+    runs-on: ubuntu-22.04
     name: Weblate automerge
     if: github.actor == 'weblate'
     steps:
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 736e258..4dc915b 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -33,8 +33,9 @@ repos:
   - id: mdformat
     additional_dependencies:
     - mdformat-gfm==0.3.6
-    - mdformat-black==0.1.1
+    - mdformat-ruff==0.1.3
     - mdformat-shfmt==0.1.0
+    - mdformat_tables==1.0.0
 - repo: https://github.com/shellcheck-py/shellcheck-py
   rev: v0.10.0.1
   hooks: