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
|