-
Notifications
You must be signed in to change notification settings - Fork 14
132 lines (107 loc) · 5.33 KB
/
msbuild.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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
name: MSBuild
on:
push:
branches: [ "main" ]
# pull_request:
# branches: [ "main" ]
env:
SOLUTION_FILE_PATH: .
permissions:
contents: read
jobs:
analysis:
name: Analysis
runs-on: self-hosted
steps:
- name: Analysis Debug (x86)
id: analysis-debug-x86
if: always()
working-directory: ${{env.GITHUB_WORKSPACE}}
run: python "C:\PVS-Studio_Cmd.py" --settings "C:\Settings.xml" --target "${{env.SOLUTION_FILE_PATH}}\Detours.sln" --useSuppressFile "${{env.SOLUTION_FILE_PATH}}\SuppressionFile.suppress" --configuration Debug --platform x86 --output "${{env.SOLUTION_FILE_PATH}}\build\x86\Debug\results.plog"
- name: Analysis Debug (x86_64)
id: analysis-debug-x86-64
if: always()
working-directory: ${{env.GITHUB_WORKSPACE}}
run: python "C:\PVS-Studio_Cmd.py" --settings "C:\Settings.xml" --target "${{env.SOLUTION_FILE_PATH}}\Detours.sln" --useSuppressFile "${{env.SOLUTION_FILE_PATH}}\SuppressionFile.suppress" --configuration Debug --platform x64 --output "${{env.SOLUTION_FILE_PATH}}\build\x86_64\Debug\results.plog"
- name: Analysis Release (x86)
id: analysis-release-x86
if: always()
working-directory: ${{env.GITHUB_WORKSPACE}}
run: python "C:\PVS-Studio_Cmd.py" --settings "C:\Settings.xml" --target "${{env.SOLUTION_FILE_PATH}}\Detours.sln" --useSuppressFile "${{env.SOLUTION_FILE_PATH}}\SuppressionFile.suppress" --configuration Release --platform x86 --output "${{env.SOLUTION_FILE_PATH}}\build\x86\Release\results.plog"
- name: Analysis Release (x86_64)
id: analysis-release-x86-64
if: always()
working-directory: ${{env.GITHUB_WORKSPACE}}
run: python "C:\PVS-Studio_Cmd.py" --settings "C:\Settings.xml" --target "${{env.SOLUTION_FILE_PATH}}\Detours.sln" --useSuppressFile "${{env.SOLUTION_FILE_PATH}}\SuppressionFile.suppress" --configuration Release --platform x64 --output "${{env.SOLUTION_FILE_PATH}}\build\x86_64\Release\results.plog"
- name: Uploading results
uses: actions/upload-artifact@v3
with:
name: Analysis
path: |
${{env.SOLUTION_FILE_PATH}}\build\**\*.plog
if-no-files-found: error
building:
name: Building
runs-on: windows-latest
needs: analysis
steps:
- uses: actions/[email protected]
- name: Add MSBuild to PATH
uses: microsoft/[email protected]
- name: Restore NuGet packages
working-directory: ${{env.GITHUB_WORKSPACE}}
run: dotnet restore ${{env.SOLUTION_FILE_PATH}}
- name: Building Debug (x86)
working-directory: ${{env.GITHUB_WORKSPACE}}
run: msbuild /m /p:Configuration=Debug /p:Platform=x86 ${{env.SOLUTION_FILE_PATH}}
- name: Building Debug (x86_64)
working-directory: ${{env.GITHUB_WORKSPACE}}
run: msbuild /m /p:Configuration=Debug /p:Platform=x64 ${{env.SOLUTION_FILE_PATH}}
- name: Building Release (x86)
working-directory: ${{env.GITHUB_WORKSPACE}}
run: msbuild /m /p:Configuration=Release /p:Platform=x86 ${{env.SOLUTION_FILE_PATH}}
- name: Building Release (x86_64)
working-directory: ${{env.GITHUB_WORKSPACE}}
run: msbuild /m /p:Configuration=Release /p:Platform=x64 ${{env.SOLUTION_FILE_PATH}}
- name: Uploading builds
uses: actions/upload-artifact@v3
with:
name: Builds
path: |
${{env.SOLUTION_FILE_PATH}}\build\**\*.exe
${{env.SOLUTION_FILE_PATH}}\build\**\*.pdb
if-no-files-found: error
testing:
name: Testing
runs-on: self-hosted
needs: building
steps:
- name: Downloading builds
uses: actions/download-artifact@v4
with:
name: Builds
path: |
${{env.SOLUTION_FILE_PATH}}\build
- name: Checking Debug (x86)
timeout-minutes: 3
working-directory: ${{env.GITHUB_WORKSPACE}}
run: python "C:\DeleakerConsole.py" --max-allow-leaks 60 --export-xml-report-on-exit "${{env.SOLUTION_FILE_PATH}}\build\x86\Debug\report.xml" --run "${{env.SOLUTION_FILE_PATH}}\build\x86\Debug\Detours.exe"
- name: Checking Debug (x86_64)
timeout-minutes: 3
working-directory: ${{env.GITHUB_WORKSPACE}}
run: python "C:\DeleakerConsole.py" --max-allow-leaks 60 --export-xml-report-on-exit "${{env.SOLUTION_FILE_PATH}}\build\x86\Debug\report.xml" --run "${{env.SOLUTION_FILE_PATH}}\build\x86\Debug\Detours.exe"
- name: Checking Release (x86)
timeout-minutes: 3
working-directory: ${{env.GITHUB_WORKSPACE}}
run: python "C:\DeleakerConsole.py" --max-allow-leaks 60 --export-xml-report-on-exit "${{env.SOLUTION_FILE_PATH}}\build\x86\Debug\report.xml" --run "${{env.SOLUTION_FILE_PATH}}\build\x86\Debug\Detours.exe"
- name: Checking Release (x86_64)
timeout-minutes: 3
working-directory: ${{env.GITHUB_WORKSPACE}}
run: python "C:\DeleakerConsole.py" --max-allow-leaks 60 --export-xml-report-on-exit "${{env.SOLUTION_FILE_PATH}}\build\x86\Debug\report.xml" --run "${{env.SOLUTION_FILE_PATH}}\build\x86\Debug\Detours.exe"
- name: Uploading results
uses: actions/upload-artifact@v3
with:
name: Testing
path: |
${{env.SOLUTION_FILE_PATH}}\build\**\*.xml
if-no-files-found: error