From 3a23bb3273de663dad98f9cd12e32550ed3336de Mon Sep 17 00:00:00 2001 From: Jabber Developer Date: Thu, 19 Jun 2025 19:59:02 +0200 Subject: [PATCH] Fix workflow Current setup of the infratstrcture with DIND was causing issues with volume binding, leading to a false-positive error on code formatting check. This commit addresses the issue by removing dependency on a container, but at the same time it limits choice of formatting version. This fix does not address the underlying issue with the architecture. As an additional change, package versions are updated. --- .github/workflows/main.yml | 46 ++++++++++++++++++++++++++++++++------ 1 file changed, 39 insertions(+), 7 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 95560e36..372b32a8 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -27,11 +27,13 @@ jobs: docker run profanity ./ci-build.sh code-style: - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest name: Check coding style continue-on-error: true + env: + GITHUB_WORKSPACE: ${{ runner.workspace }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 # if this check fails, you have to update the number of auto types known and the list of auto types in the check below - name: Check auto types are up-to-date run: | @@ -39,11 +41,41 @@ jobs: - name: Check auto types are initialized run: | grep -P 'auto_(char|gchar|gcharv|guchar|jid|sqlite|gfd|FILE)[\w *]*;$' -r src && exit -1 || true - - name: Run clang-format - uses: jidicula/clang-format-action@v4.11.0 - with: - clang-format-version: '16' - check-path: 'src' + + - name: Install clang-format + run: | + sudo apt-get update + sudo apt-get install -y clang-format + + - name: Run clang-format check + run: | + echo $(clang-format --version) + # Find all source files you care about + INCLUDE_REGEX='^.*\.((((c|C)(c|pp|xx|\+\+)?$)|((h|H)h?(pp|xx|\+\+)?$))|(ino|pde|proto|cu))$' + CHECK_PATH='src' + files=$(find "$CHECK_PATH" -name .git -prune -o -regextype posix-egrep -regex "$INCLUDE_REGEX" -print) + if [ -z "$files" ]; then + echo "✅ No source files found to check." + exit 0 + fi + + # Run clang-format in dry-run mode and collect any improperly formatted files + failed=0 + for file in $files; do + if ! output=$(clang-format --dry-run --Werror --style=file "$file" 2>&1); then + echo "❌ Failed on file: $file" + echo "$output" + echo "----------------------------------------" + failed=1 + fi + done + + if [ $failed -ne 0 ]; then + echo "🚫 One or more files are not properly formatted." + else + echo "✅ All files are properly formatted." + fi + exit $failed spell-check: runs-on: ubuntu-22.04