-
Notifications
You must be signed in to change notification settings - Fork 336
76 lines (60 loc) · 2.21 KB
/
clang-ast.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
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 wget curl llvm-dev libclang-dev clang make \
libssl-dev libpcre2-dev libperl-dev \
libphp-embed php-dev python3-dev libpython3-dev \
ruby-dev openjdk-17-jdk npm
npm install -g node-gyp
- uses: actions/checkout@v4
- name: Checkout and build clang-ast
run: |
git clone https://github.com/nginx/clang-ast.git -b unit
cd clang-ast
make
- name: Configure Unit
run: ./configure --cc=clang --cc-opt="-Xclang -load -Xclang clang-ast/ngx-ast.so -Xclang -add-plugin -Xclang ngx-ast" --openssl --debug --tests
- name: Build Unit
run: make -j4 unitd
- name: Build C tests
run: make -j4 tests
- name: Build Perl language module
run: ./configure perl && make -j4 perl
- name: Build PHP language module
run: ./configure php && make -j4 php
- name: Build Python language module
run: ./configure python --config=python3-config && make -j4 python3
- name: Build Ruby language module
run: ./configure ruby && make -j4 ruby
- name: Build Java support
run: ./configure java && make -j4 java
- name: Build Nodejs support
run: ./configure nodejs && make node-local-install DESTDIR=node
- name: Build wasm language module
run: |
wget -q -O- https://github.com/bytecodealliance/wasmtime/releases/download/v26.0.0/wasmtime-v26.0.0-x86_64-linux-c-api.tar.xz | tar -xJf -
./configure wasm --include-path=wasmtime-v26.0.0-x86_64-linux-c-api/include --lib-path=wasmtime-v26.0.0-x86_64-linux-c-api/lib --rpath && make wasm