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