check code formatting
MODIFY
.custom-format.py
.custom-format.py
@@ -19,6 +19,7 @@ import subprocess
import sys
import os
import re
+import shutil
# string_re = re.compile('(\\"(\\\\.|[^"\\\\])*\\")') # future use
@@ -26,6 +27,10 @@ with open(".clang-format") as f:
fmt = f.read()
CLANG_FORMAT_BIN = os.getenv("CLANG_FORMAT_BIN")
+
+if CLANG_FORMAT_BIN is None:
+ CLANG_FORMAT_BIN = shutil.which("clang-format")
+
if CLANG_FORMAT_BIN is None:
o = 0
try:

MODIFY
.github/workflows/ci.yml
.github/workflows/ci.yml
@@ -2,9 +2,12 @@ name: CI
on:
push:
- branches: [stable, dev]
+ branches:
+ - stable
+ - dev
pull_request:
- branches: [stable, dev]
+ branches:
+ - dev # No need for stable-pull-request, as that equals dev-push
jobs:
linux:

ADD
.github/workflows/code-format.yml
+name: Formatting
+
+on:
+ push:
+ branches:
+ - stable
+ - dev
+ pull_request:
+ branches:
+ - dev # No need for stable-pull-request, as that equals dev-push
+
+jobs:
+ code-format-check:
+ name: Check code format
+ runs-on: ubuntu-22.04
+ container:
+ image: docker.io/aflplusplus/aflplusplus:dev
+ env:
+ LLVM_VERSION: 14 # Remove _after_ this branch's image is built and pushed. The new image will have this var in ENV.
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v3
+ - name: Format
+ run: |
+ git config --global --add safe.directory /__w/AFLplusplus/AFLplusplus
+ apt-get update
+ apt-get install -y clang-format-${LLVM_VERSION}
+ update-alternatives --install /usr/bin/clang-format clang-format /usr/bin/clang-format-${LLVM_VERSION} 0
+ make code-format
+ - name: Check if code needed formatting
+ run: |
+ git --no-pager -c color.ui=always diff HEAD
+ if ! git diff HEAD --quiet; then
+ echo "[!] Please run 'make code-format' and push its changes."
+ exit 1
+ fi

MODIFY
.github/workflows/codeql-analysis.yml
.github/workflows/codeql-analysis.yml
@@ -2,9 +2,12 @@ name: "CodeQL"
on:
push:
- branches: [stable, dev]
+ branches:
+ - stable
+ - dev
pull_request:
- branches: [stable, dev]
+ branches:
+ - dev # No need for stable-pull-request, as that equals dev-push
jobs:
analyze:

MODIFY
.github/workflows/rust_custom_mutator.yml
.github/workflows/rust_custom_mutator.yml
@@ -2,9 +2,12 @@ name: Rust Custom Mutators
on:
push:
- branches: [ stable, dev ]
+ branches:
+ - stable
+ - dev
pull_request:
- branches: [ stable, dev ]
+ branches:
+ - dev # No need for stable-pull-request, as that equals dev-push
jobs:
test:

MODIFY
Dockerfile
Dockerfile
@@ -16,8 +16,8 @@ RUN apt-get update && apt-get full-upgrade -y && \
apt-get install -y --no-install-recommends wget ca-certificates && \
rm -rf /var/lib/apt/lists/*
-ARG LLVM_VERSION=14
-ARG GCC_VERSION=12
+ENV LLVM_VERSION=14
+ENV GCC_VERSION=12
RUN echo "deb [signed-by=/etc/apt/keyrings/llvm-snapshot.gpg.key] http://apt.llvm.org/jammy/ llvm-toolchain-jammy-${LLVM_VERSION} main" > /etc/apt/sources.list.d/llvm.list && \
wget -qO /etc/apt/keyrings/llvm-snapshot.gpg.key https://apt.llvm.org/llvm-snapshot.gpg.key

check code formatting (#5)