From d51aad59aa27d1ba4acc4de1e9f0cc5cf879baf0 Mon Sep 17 00:00:00 2001 From: Andrew Clayton Date: Fri, 25 Oct 2024 17:48:44 +0100 Subject: [PATCH] ci: Add a clang-ast workflow Signed-off-by: Andrew Clayton --- .github/workflows/clang-ast.yaml | 50 ++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 .github/workflows/clang-ast.yaml diff --git a/.github/workflows/clang-ast.yaml b/.github/workflows/clang-ast.yaml new file mode 100644 index 000000000..b53127c28 --- /dev/null +++ b/.github/workflows/clang-ast.yaml @@ -0,0 +1,50 @@ +name: "Clang AST" + +on: + push: + branches: master + paths: + - configure + - 'auto/**' + - 'src/**' + - 'test/**' + - '.github/workflows/clang-ast.yaml' + pull_request: + branches: master + paths: + - configure + - 'auto/**' + - 'src/**' + - 'test/**' + - '.github/workflows/clang-ast.yaml' + +jobs: + clang-ast: + runs-on: ubuntu-latest + + container: + image: debian:testing + + steps: + - name: Install tools/deps + run: | + apt-get -y update + apt-get -y install git llvm-dev libclang-dev clang make \ + libssl-dev libpcre2-dev + + - uses: actions/checkout@v4 + + - name: Checkout and build clang-ast + run: | + git clone https://github.com/ac000/clang-ast -b unit-stdc++17 + cd clang-ast + make + + - name: Configure Unit + run: ./configure --cc=clang --openssl --debug + + - name: Build Unit + run: | + make -j4 \ + EXTRA_CFLAGS="-Xclang -load -Xclang clang-ast/ngx-ast.so -Xclang -plugin -Xclang ngx-ast" \ + NXT_SHARED_LOCAL_LINK=: build/lib/libnxt.so