瀏覽代碼

Pin style-check and pre-commit to clang-format 23.1.0

CI relied on ubuntu-latest's default apt clang-format (18.1.3), while the
pre-commit hook was pinned to a different 18.x build. Neither tracked a
specific, deliberately-chosen version, and the two could drift from each
other and from whatever a contributor has installed locally.

Both now pin the same clang-format 23.1.0 (latest stable), installed via
pipx in CI. Also scope the pre-commit hook's file matcher to the same set
of files test/Makefile's style_check target checks, since the previous
\.(cpp|cc|h)$ pattern reached into vendored code (test/gtest,
benchmark/crow) that must stay untouched.

Reformat httplib.h's brace-init spacing to match 23.1.0's output.
yhirose 1 月之前
父節點
當前提交
dc41dbd954
共有 3 個文件被更改,包括 9 次插入 和 7 次删除
  1. 4 0
      .github/workflows/test.yaml
  2. 2 2
      .pre-commit-config.yaml
  3. 3 5
      httplib.h

+ 4 - 0
.github/workflows/test.yaml

@@ -37,6 +37,10 @@ jobs:
     steps:
       - name: checkout
         uses: actions/checkout@v4
+      - name: install clang-format
+        run: |
+          pipx install clang-format==23.1.0
+          echo "$HOME/.local/bin" >> "$GITHUB_PATH"
       - name: run style check
         run: |
           clang-format --version

+ 2 - 2
.pre-commit-config.yaml

@@ -1,7 +1,7 @@
 repos:
   - repo: https://github.com/pre-commit/mirrors-clang-format
-    rev: v18.1.8  # 最新バージョンを使用
+    rev: v23.1.0  # CIのstyle-checkと同じバージョンに揃える
     hooks:
       - id: clang-format
-        files: \.(cpp|cc|h)$
+        files: ^(httplib\.h|(example|fuzzing|test)/[^/]+\.(cpp|cc|h))$
         args: [-i]  # インプレースで修正

+ 3 - 5
httplib.h

@@ -6881,12 +6881,10 @@ inline int getaddrinfo_with_timeout(const char *node, const char *service,
   // actually finish before letting the stack frame go. The trade-off is that
   // a wedged DNS server can hold this thread for the system resolver timeout
   // (~30s by default) past the caller's connection timeout.
-  struct gaicb request {};
+  struct gaicb request{};
   struct gaicb *requests[1] = {&request};
-  struct sigevent sevp {};
-  struct timespec timeout {
-    timeout_sec, 0
-  };
+  struct sigevent sevp{};
+  struct timespec timeout{timeout_sec, 0};
 
   request.ar_name = node;
   request.ar_service = service;