From fa72e60fccdfa1bc3fe3840372c5cdefbcd3b671 Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Wed, 25 Jun 2025 13:39:48 -0400 Subject: [PATCH] build-sys: Move clang-format into justfile We don't need a build to run it, it's more appropriate there. Signed-off-by: Colin Walters --- .github/workflows/tests.yml | 4 ++-- Justfile | 8 ++++++++ Makefile.am | 4 ---- ci/clang-format.sh | 20 -------------------- 4 files changed, 10 insertions(+), 26 deletions(-) delete mode 100755 ci/clang-format.sh diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 5944ebe7..b3074b83 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -38,9 +38,9 @@ jobs: # https://github.com/actions/checkout/issues/760 - name: Mark git checkout as safe run: git config --global --add safe.directory "$GITHUB_WORKSPACE" - - run: sudo apt install clang-format + - run: sudo apt install clang-format just - name: Test style - run: ./ci/clang-format.sh + run: just clang-format-check build-integration: runs-on: ubuntu-latest container: quay.io/coreos-assembler/fcos-buildroot:testing-devel diff --git a/Justfile b/Justfile index 7dee1287..6232ba1d 100644 --- a/Justfile +++ b/Justfile @@ -49,3 +49,11 @@ build-host-inst: build-host make -C target/c install DESTDIR=$(pwd)/target/inst tar --sort=name --numeric-owner --owner=0 --group=0 -C target/inst -czf target/inst.tar.gz . +sourcefiles := "git ls-files '**.c' '**.cxx' '**.h' '**.hpp'" +# Reformat source files +clang-format: + {{sourcefiles}} | xargs clang-format -i + +# Check source files against clang-format defaults +clang-format-check: + {{sourcefiles}} | xargs clang-format -i --Werror --dry-run \ No newline at end of file diff --git a/Makefile.am b/Makefile.am index ddaf790e..424b2853 100644 --- a/Makefile.am +++ b/Makefile.am @@ -136,10 +136,6 @@ include Makefile-bash.am release-tag: cd $(srcdir) && git $(srcdir) tag -m "Release $(VERSION)" v$(VERSION) -.PHONY: clang-format -clang-format: - git ls-files '**.c' '**.cxx' '**.h' '**.hpp' | xargs clang-format -i - embed_dependency=tar -C $(srcdir) --append --exclude='.git/*' --transform="s,^embedded-dependencies/,ostree-embeddeps-$${GITVERSION}/embedded-dependencies/," --file=$${TARFILE_TMP} git_version_rpm = $$(cd $(srcdir) && git describe | sed -e 's,-,\.,g' -e 's,^v,,') diff --git a/ci/clang-format.sh b/ci/clang-format.sh deleted file mode 100755 index 5bb3394b..00000000 --- a/ci/clang-format.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/env bash -# Tests that validate structure of the source code; -# can be run without building it. -set -euo pipefail - -clang_ver=$(clang-format --version) -clang_min_ver=15 -version_re=" version ([0-9]+)." -if [[ $clang_ver =~ $version_re ]]; then - if test "${BASH_REMATCH[1]}" -ge "${clang_min_ver}"; then - echo -n "checking clang-format... " - git ls-files '**.c' '**.cxx' '**.h' '**.hpp' | xargs clang-format --Werror --dry-run - echo "ok" - else - echo "notice: clang-format ${clang_ver}" is too old - fi -else - echo "failed to parse clang-format version ${clang_ver}" 1>&2 - exit 1 -fi