@@ -35,30 +35,26 @@ jobs:
35
35
lcov libcurl4-openssl-dev libmariadb-dev libmariadb-dev-compat \
36
36
python3 python3-pip python3-venv gcovr bc pipx wget \
37
37
software-properties-common
38
- # Add the official LLVM repository and install Clang 19
39
38
wget https://apt.llvm.org/llvm.sh
40
39
chmod +x llvm.sh
41
40
./llvm.sh 19
42
- apt-get install -y clang-19 libclang-19-dev python3-clang-19
43
- apt-get remove -y libclang-14-dev libclang-common-14-dev libclang1-14 libllvm14 python3-clang-14
44
- # Ensure Clang 19 is the default
41
+ apt-get install -y clang-19 libclang-19-dev python3-clang
45
42
update-alternatives --install /usr/bin/clang clang /usr/lib/llvm-19/bin/clang 100
46
43
update-alternatives --install /usr/bin/clang++ clang++ /usr/lib/llvm-19/bin/clang++ 100
47
44
pipx install --system-site-packages mcdc-checker
48
45
pipx ensurepath
49
46
47
+ # - name: Verify Clang Installation
48
+ # run: |
49
+ # echo "Checking clang binary..."
50
+ # which clang || { echo "clang not found in PATH"; exit 1; }
51
+ # echo "clang version:"
52
+ # clang --version
50
53
51
- - name : Verify Clang Installation
52
- run : |
53
- echo "Checking clang binary..."
54
- which clang || { echo "clang not found in PATH"; exit 1; }
55
- echo "clang version:"
56
- clang --version
57
-
58
- - name : Verify Clang Python Bindings
59
- run : |
60
- echo "Testing Clang Python bindings..."
61
- python3 -c "import clang.cindex; print('Clang bindings are working')"
54
+ # - name: Verify Clang Python Bindings
55
+ # run: |
56
+ # echo "Testing Clang Python bindings..."
57
+ # python3 -c "import clang.cindex; print('Clang bindings are working')"
62
58
63
59
- name : Build with Coverage Flags
64
60
run : |
@@ -91,31 +87,23 @@ jobs:
91
87
- name : Run MC/DC Analysis
92
88
run : |
93
89
echo "Setting up environment for MC/DC Checker..."
94
- export PATH=/usr/lib/llvm-19/bin:$HOME/.local/bin:$ PATH
90
+ export PATH=/usr/lib/llvm-19/bin:$PATH
95
91
export LD_LIBRARY_PATH=/usr/lib/llvm-19/lib:$LD_LIBRARY_PATH
96
- export CC=/usr/lib/llvm-19/bin/clang
97
- export CXX=/usr/lib/llvm-19/bin/clang++
98
-
99
- echo "Verifying Clang bindings..."
100
- python3 -c "
101
- import clang.cindex as cindex
102
- cindex.Config.set_library_file('/usr/lib/llvm-19/lib/libclang.so')
103
- print('Clang library file configured:', cindex.Config.library_file)
104
- "
105
-
106
92
echo "Running mcdc-checker..."
107
93
mcdc-checker -a -j $GITHUB_WORKSPACE/doc/coverage/mcdc_report.json \
108
94
-I $GITHUB_WORKSPACE/include \
109
95
-I $GITHUB_WORKSPACE/test/include \
110
96
$(find $GITHUB_WORKSPACE/src -type f -name '*.c' | tr '\n' ' ') \
111
97
$(find $GITHUB_WORKSPACE/test -type f -name '*.c' | tr '\n' ' ') \
112
98
> $GITHUB_WORKSPACE/doc/coverage/mcdc_checker_output.log 2>&1 || true
113
-
114
- echo "Displaying MC/DC Checker Output:"
115
- cat $GITHUB_WORKSPACE/doc/coverage/mcdc_checker_output.log
116
99
100
+ # - name: Display MC/DC Checker Output
101
+ # run: |
102
+ # echo "Displaying MC/DC Checker Output:"
103
+ # cat $GITHUB_WORKSPACE/doc/coverage/mcdc_checker_output.log
117
104
118
- - name : Display MC/DC Checker Output
119
- run : |
120
- echo "Displaying MC/DC Checker Output:"
121
- cat $GITHUB_WORKSPACE/doc/coverage/mcdc_checker_output.log
105
+ - name : Archive Coverage Directory
106
+ uses : actions/upload-artifact@v3
107
+ with :
108
+ name : coverage-artifacts
109
+ path : doc/coverage
0 commit comments