forked from NineWorldsStudios/FASTBuild
-
Notifications
You must be signed in to change notification settings - Fork 0
62 lines (51 loc) · 1.87 KB
/
Windows.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
name: Windows CI
on: [push, pull_request]
defaults:
run:
shell: bash
working-directory: Code
jobs:
windows-ci:
strategy:
fail-fast: false
matrix:
include:
- cfg: Build & Tests
vs: 2019
os: windows-2019
- cfg: Build & Tests
vs: 2017
os: windows-2019
- cfg: Analyze
vs: 2019
os: windows-2019
name: Windows (${{ matrix.cfg }}, VS ${{ matrix.vs }})
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/DownloadFBuild
- name: Configure fbuild.bff
run: |
'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\LLVM\x64\bin\clang.exe' --version
# Inject "#define CI_BUILD" into root configs to activate CI logic.
sed -i -e "1i\\
#define CI_BUILD
" fbuild.bff Tools/FBuild/FBuildTest/Data/testcommon.bff
# Comment all "#define USING_VS" lines and then uncomment the one we want.
sed -i -e "
/#define USING_VS/ s:^[^#]*://:
/#define USING_VS${{ matrix.vs }}/ s:^[^#]*::
" ../External/SDK/VisualStudio/VisualStudio.bff
- name: Build
if: ${{ startsWith(matrix.cfg, 'Build') }}
run: ${FBUILD_PATH} -nostoponerror -summary All-x64{,Clang}-{Debug,Profile,Release}
- name: Tests
# -j1 on CI nodes avoids timeouts (CI nodes have only 2 cores)
if: ${{ matrix.cfg == 'Build & Tests' }}
run: ${FBUILD_PATH} -nostoponerror -j1 -summary Tests
- name: Analyze
if: ${{ matrix.cfg == 'Analyze' }}
run: ${FBUILD_PATH} -nostoponerror -summary All-x64-Analyze
- name: Build (NoUnity)
if: ${{ startsWith(matrix.cfg, 'Build') }}
run: ${FBUILD_PATH} -nostoponerror -summary -nounity -clean All-x64{,Clang}-Debug