-
Notifications
You must be signed in to change notification settings - Fork 34
131 lines (123 loc) · 3.53 KB
/
c-cpp.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
name: C/C++ CI
on:
push:
branches: [ master,develop ]
pull_request:
branches: [ master,develop ]
jobs:
linux-x86:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install gcc-multilib # bits/libc-header-start.h
- name: Build
run: make ARCH=x86 BUILD=c89 test
working-directory: test
- name: Run tests
run: ./test
working-directory: test
linux-x64:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install valgrind gcc-multilib # bits/libc-header-start.h
- name: Build
run: make ARCH=x64 BUILD=c89 test
working-directory: test
- name: Run tests
run: ./test
working-directory: test
- name: Valgrind
run: make ARCH=x64 BUILD=c89 valgrind
working-directory: test
# RetroArch compiles with gcc-8, gnu99, and a different set of warnings.
# Attempt to catch issues caused by those discrepencies.
linux-x64-retroarch:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install valgrind gcc-multilib # bits/libc-header-start.h
- name: Check ctype calls
run: make ARCH=x64 BUILD=retroarch check_ctype
working-directory: test
- name: Build
run: make ARCH=x64 BUILD=retroarch test
working-directory: test
- name: Run tests
run: ./test
working-directory: test
- name: Valgrind
run: make ARCH=x64 BUILD=retroarch valgrind
working-directory: test
linux-x64-lua:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install valgrind gcc-multilib # bits/libc-header-start.h
- name: Build
run: make ARCH=x64 BUILD=c89 HAVE_LUA=1 test
working-directory: test
- name: Run tests
run: ./test
working-directory: test
- name: Valgrind
run: make ARCH=x64 BUILD=c89 HAVE_LUA=1 valgrind
working-directory: test
linux-x64-nohash:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install valgrind gcc-multilib # bits/libc-header-start.h
- name: Build
run: make ARCH=x64 BUILD=c89 HAVE_HASH=0 test
working-directory: test
- name: Run tests
run: ./test
working-directory: test
- name: Valgrind
run: make ARCH=x64 BUILD=c89 HAVE_HASH=0 valgrind
working-directory: test
windows-x64-msbuild:
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install MSBuild
uses: microsoft/[email protected]
- name: Build
run: msbuild.exe rcheevos-test.sln -t:rcheevos-test -p:Configuration=Release -p:Platform=x64
working-directory: test
- name: Run tests
run: ./rcheevos-test.exe
working-directory: test/x64/Release
windows-x64-mingw:
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Build
run: make ARCH=x64 BUILD=c89 CC=gcc test
working-directory: test
- name: Run tests
run: ./test.exe
working-directory: test