-
Notifications
You must be signed in to change notification settings - Fork 2.6k
64 lines (53 loc) · 1.83 KB
/
coverity.yml
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
name: Coverity
on:
push:
branches: [master]
paths-ignore:
- '.gitignore'
- '.gitattributes'
- 'res/**'
- '**.cmd'
- '**.md'
- '**.rc'
- '**.sh'
- '**.txt'
- '**.xml'
env:
SOLUTION_FILE_PATH: ./rufus.sln
EMAIL: [email protected]
BUILD_CONFIGURATION: Release
TARGET_PLATFORM: x64
COVERITY_PROJECT_NAME: pbatard%2Frufus
jobs:
Coverity-Build:
runs-on: windows-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive
- name: Download Coverity
run: |
curl -d "token=${{ secrets.COVERITY_SCAN_TOKEN }}&project=${{ env.COVERITY_PROJECT_NAME }}" -L https://scan.coverity.com/download/cxx/win64 -o cov-analysis-win64.zip
7z x cov-analysis-win64.zip
del cov-analysis-win64.zip
move cov-analysis-win64* cov-analysis-win64
- name: Add Coverity to PATH
shell: bash
run: echo "${{github.workspace}}/cov-analysis-win64/bin" >> $GITHUB_PATH
- name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v2
- name: Build with Coverity
run: |
cov-configure --msvc
cov-build.exe --dir cov-int msbuild ${{ env.SOLUTION_FILE_PATH }} /m /p:Configuration=${{ env.BUILD_CONFIGURATION }},Platform=${{ env.TARGET_PLATFORM }}
- name: Publish Coverity artifacts
uses: actions/upload-artifact@v4
with:
name: cov-int
path: cov-int/
- name: Upload Coverity build for analysis
run: |
7z a -r cov-int.zip cov-int
curl --form email=${{ env.EMAIL }} --form token=${{ secrets.COVERITY_SCAN_TOKEN }} --form [email protected] --form version="${{ env.GITHUB_SHA }}" --form description="Automated build" https://scan.coverity.com/builds?project=${{ env.COVERITY_PROJECT_NAME }}