Add style check to workflow (#2062)
* Add style check to workflow * Add example files to style check
This commit is contained in:
parent
2996cecee0
commit
574f5ce93e
12
.github/workflows/test.yaml
vendored
12
.github/workflows/test.yaml
vendored
@ -24,6 +24,18 @@ env:
|
|||||||
GTEST_FILTER: ${{ github.event.inputs.gtest_filter || '*' }}
|
GTEST_FILTER: ${{ github.event.inputs.gtest_filter || '*' }}
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
style-check:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
|
||||||
|
continue-on-error: true
|
||||||
|
steps:
|
||||||
|
- name: checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: run style check
|
||||||
|
run: |
|
||||||
|
clang-format --version
|
||||||
|
cd test && make style_check
|
||||||
|
|
||||||
ubuntu:
|
ubuntu:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
if: >
|
if: >
|
||||||
|
@ -28,6 +28,11 @@ TEST_ARGS = gtest/gtest-all.cc gtest/gtest_main.cc $(OPENSSL_SUPPORT) $(ZLIB_SUP
|
|||||||
# OSS-Fuzz will define its own value for LIB_FUZZING_ENGINE.
|
# OSS-Fuzz will define its own value for LIB_FUZZING_ENGINE.
|
||||||
LIB_FUZZING_ENGINE ?= standalone_fuzz_target_runner.o
|
LIB_FUZZING_ENGINE ?= standalone_fuzz_target_runner.o
|
||||||
|
|
||||||
|
CLANG_FORMAT = clang-format
|
||||||
|
REALPATH = $(shell which grealpath 2>/dev/null || which realpath 2>/dev/null)
|
||||||
|
STYLE_CHECK_FILES = $(filter-out httplib.h httplib.cc, \
|
||||||
|
$(wildcard example/*.h example/*.cc fuzzing/*.h fuzzing/*.cc *.h *.cc ../httplib.h))
|
||||||
|
|
||||||
all : test test_split
|
all : test test_split
|
||||||
./test
|
./test
|
||||||
|
|
||||||
@ -45,6 +50,28 @@ test_split : test.cc ../httplib.h httplib.cc Makefile cert.pem
|
|||||||
check_abi:
|
check_abi:
|
||||||
@./check-shared-library-abi-compatibility.sh
|
@./check-shared-library-abi-compatibility.sh
|
||||||
|
|
||||||
|
.PHONY: style_check
|
||||||
|
style_check: $(STYLE_CHECK_FILES)
|
||||||
|
@for file in $(STYLE_CHECK_FILES); do \
|
||||||
|
$(CLANG_FORMAT) $$file > $$file.formatted; \
|
||||||
|
if ! diff -u $$file $$file.formatted; then \
|
||||||
|
file2=$$($(REALPATH) --relative-to=.. $$file); \
|
||||||
|
printf "\n%*s\n" 80 | tr ' ' '#'; \
|
||||||
|
printf "##%*s##\n" 76; \
|
||||||
|
printf "## %-70s ##\n" "$$file2 not properly formatted. Please run clang-format."; \
|
||||||
|
printf "##%*s##\n" 76; \
|
||||||
|
printf "%*s\n\n" 80 | tr ' ' '#'; \
|
||||||
|
failed=1; \
|
||||||
|
fi; \
|
||||||
|
rm -f $$file.formatted; \
|
||||||
|
done; \
|
||||||
|
if [ -n "$$failed" ]; then \
|
||||||
|
echo "Style check failed for one or more files. See above for details."; \
|
||||||
|
false; \
|
||||||
|
else \
|
||||||
|
echo "All files are properly formatted."; \
|
||||||
|
fi
|
||||||
|
|
||||||
test_proxy : test_proxy.cc ../httplib.h Makefile cert.pem
|
test_proxy : test_proxy.cc ../httplib.h Makefile cert.pem
|
||||||
$(CXX) -o $@ -I.. $(CXXFLAGS) test_proxy.cc $(TEST_ARGS)
|
$(CXX) -o $@ -I.. $(CXXFLAGS) test_proxy.cc $(TEST_ARGS)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user