From 24f82e561b096734ac9202b86f1a090ff099e12a Mon Sep 17 00:00:00 2001 From: javalsai Date: Wed, 16 Jul 2025 19:30:03 +0200 Subject: [PATCH] ci(fix): clang checks silently failing --- .github/workflows/check.yml | 22 +++++++++++++++------- assets/github_scripts/build.sh | 5 +++-- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 0a15b44..ba9e3ee 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -30,14 +30,22 @@ jobs: clangcheck: name: Clang - runs-on: ubuntu-24.04 + runs-on: ubuntu-latest + container: + image: ubuntu:25.04 steps: - uses: actions/checkout@v4 - - uses: awalsh128/cache-apt-pkgs-action@latest - with: - packages: "clang-format clang-tidy bear libpam0g-dev" - version: 1.0 + - run: apt -y update && apt install -y clang-format clang-tidy make gcc git bear libpam0g-dev + - run: bear -- make - - run: clang-format -ni src/*.c include/*.h - - run: clang-tidy -p . src/*.c include/*.h + - run: clang-format -version && clang-format -dump-config + - run: | + set -euo pipefail + clang-format -ni src/*.c include/*.h -Werror 2>&1 | \ + sed -E 's/^([^ ]+\.[ch]):([0-9]+):([0-9]+): ([a-z]+): (.*)$/::\4 file=\1,line=\2,col=\3::\5/' + - run: clang-tidy -version && clang-tidy -dump-config + - run: | + set -euo pipefail + clang-tidy -p . src/*.c include/*.h -warnings-as-errors=\* 2>&1 1>/dev/null | + sed -E 's/^([^ ]+\.[ch]):([0-9]+):([0-9]+): ([a-z]+): (.*)$/::\4 file=\1,line=\2,col=\3::\5/' diff --git a/assets/github_scripts/build.sh b/assets/github_scripts/build.sh index 8536363..fc36a1a 100755 --- a/assets/github_scripts/build.sh +++ b/assets/github_scripts/build.sh @@ -13,8 +13,9 @@ make -j"$(nproc)" "$@" 2> /tmp/stderr || ERR=$? BSIZE=$(stat --printf="%s" lidm) HSIZE=$(numfmt --to=iec-i<<<"$BSIZE")B WARNS=$( - { grep -E '^[^ ]+\.[ch]:[0-9]+:[0-9]+: [a-z]+:' /tmp/stderr || :; } \ - | sed -E 's/^([^ ]+\.[ch]):([0-9]+):([0-9]+): ([a-z]+): (.*)$/::\4 file=\1,line=\2,col=\3::\5/' + sed -E \ + 's/^([^ ]+\.[ch]):([0-9]+):([0-9]+): ([a-z]+): (.*)$/::\4 file=\1,line=\2,col=\3::\5/' \ + /tmp/stderr ) WARNS_NUM=$({ [[ "$WARNS" == "" ]] && echo 0; } || wc -l <<<"$WARNS")