File: c-cpp.yml

package info (click to toggle)
rcheevos 12.2.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 3,372 kB
  • sloc: ansic: 57,087; makefile: 300
file content (133 lines) | stat: -rw-r--r-- 3,967 bytes parent folder | download | duplicates (2)
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
133
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-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 HAVE_HASH=0
      run: make ARCH=x64 BUILD=c89 HAVE_HASH=0 test
      working-directory: test
    - name: Run tests HAVE_HASH=0
      run: ./test
      working-directory: test
    - name: Build HAVE_HASH_ROMS=0
      run: make ARCH=x64 BUILD=c89 clean && make ARCH=x64 BUILD=c89 HAVE_HASH_ROMS=0 test
      working-directory: test
    - name: Run tests HAVE_HASH_ROMS=0
      run: ./test
      working-directory: test
    - name: Build HAVE_HASH_DISC=0
      run: make ARCH=x64 BUILD=c89 clean && make ARCH=x64 BUILD=c89 HAVE_HASH_DISC=0 test
      working-directory: test
    - name: Run tests HAVE_HASH_DISC=0
      run: ./test
      working-directory: test
    - name: Build HAVE_HASH_ZIP=0
      run: make ARCH=x64 BUILD=c89 clean && make ARCH=x64 BUILD=c89 HAVE_HASH_ZIP=0 test
      working-directory: test
    - name: Run tests HAVE_HASH_ZIP=0
      run: ./test
      working-directory: test
    - name: Build HAVE_HASH_ENCRYPTED=0
      run: make ARCH=x64 BUILD=c89 clean && make ARCH=x64 BUILD=c89 HAVE_HASH_ENCRYPTED=0 test
      working-directory: test
    - name: Run tests HAVE_HASH_ENCRYPTED=0
      run: ./test
      working-directory: test

  windows-x64-msbuild:
    runs-on: windows-latest
    steps:
    - name: Checkout
      uses: actions/checkout@v4
    - name: Install MSBuild
      uses: microsoft/setup-msbuild@v1.0.2
    - 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