Skip to content

Commit bec41e1

Browse files
committed
Add coverity scans
1 parent 10b0334 commit bec41e1

File tree

1 file changed

+78
-0
lines changed

1 file changed

+78
-0
lines changed

.github/workflows/coverity.yml

+78
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
name: Coverity
2+
on:
3+
schedule:
4+
- cron: "0 7 * * 1"
5+
workflow_dispatch:
6+
jobs:
7+
build:
8+
name: Coverity
9+
runs-on: ubuntu-latest
10+
environment: Coverity
11+
steps:
12+
- name: Checkout
13+
uses: actions/checkout@v2
14+
with:
15+
submodules: 'recursive'
16+
- name: Install package dependencies
17+
id: cmake_and_ninja
18+
shell: cmake -P {0}
19+
run: |
20+
execute_process(COMMAND sudo apt-get update)
21+
execute_process(COMMAND sudo apt-get install libcairo2-dev)
22+
execute_process(COMMAND sudo apt-get install libgtk-3-dev)
23+
execute_process(COMMAND sudo apt-get install ninja-build)
24+
execute_process(COMMAND sudo apt-get install wget)
25+
- name: Download Coverity Build Tool
26+
run: |
27+
wget -q https://scan.coverity.com/download/linux64 --post-data "token=$TOKEN&project=cycfi%2Felements" -O cov-analysis-linux64.tar.gz
28+
mkdir cov-analysis-linux64
29+
tar xzf cov-analysis-linux64.tar.gz --strip 1 -C cov-analysis-linux64
30+
env:
31+
TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }}
32+
- name: Configure
33+
shell: cmake -P {0}
34+
run: |
35+
set(ENV{CC} gcc-11)
36+
set(ENV{CXX} g++-11)
37+
38+
execute_process(
39+
COMMAND ${CMAKE_COMMAND}
40+
-S .
41+
-B build
42+
-D CMAKE_BUILD_TYPE=$ENV{BUILD_TYPE}
43+
-G Ninja
44+
-D CMAKE_MAKE_PROGRAM=ninja
45+
RESULT_VARIABLE result
46+
ERROR_VARIABLE error_message
47+
)
48+
49+
if (NOT result EQUAL 0)
50+
message(FATAL_ERROR "Could not run with ${CMAKE_COMMAND}: Got ${error_message} - ${result}")
51+
endif()
52+
- name: Build
53+
shell: |
54+
export PATH=`pwd`/cov-analysis-linux64/bin:$PATH
55+
cmake -P {0}
56+
run: |
57+
execute_process(
58+
COMMAND cov-build --dir cov-int ${CMAKE_COMMAND} --build build
59+
RESULT_VARIABLE result
60+
ERROR_VARIABLE error_message
61+
)
62+
63+
if (NOT result EQUAL 0)
64+
message(FATAL_ERROR "Could not run with ${CMAKE_COMMAND}: Got ${error_message} - ${result}")
65+
endif()
66+
- name: Submit the result to Coverity Scan
67+
run: |
68+
tar czvf elements.tgz cov-int
69+
curl \
70+
--form token=$TOKEN \
71+
--form email=$EMAIL \
72+
73+
--form version="master" \
74+
--form description="master" \
75+
https://scan.coverity.com/builds?project=cycfi%2Felements
76+
env:
77+
TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }}
78+
EMAIL: ${{ secrets.COVERITY_SCAN_EMAIL }}

0 commit comments

Comments
 (0)