blob: 0d32b56e460a81ee1207b962bd9735c224edc1eb [file] [log] [blame]
Laurence Lundblade8147f812024-02-22 12:09:03 -07001name: CI
2
3on: [push, pull_request]
4
5# Fan out for the two compilers
6# Fan out disabling on feature at a time -- too slow to do the full combo fan out
7jobs:
8 main:
9 strategy:
10 fail-fast: false
11 matrix:
12 c-compiler: [gcc, clang]
13
14 config:
15 - os-image: ubuntu-latest
16 container: ubuntu:22.04
17
18 - os-image: ubuntu-latest
19 container: ubuntu:22.04
Laurence Lundbladeec290b82024-06-10 11:10:54 -070020 dis-xxx: '-DQCBOR_DISABLE_NON_INTEGER_LABELS'
21
22 - os-image: ubuntu-latest
23 container: ubuntu:22.04
Laurence Lundblade8147f812024-02-22 12:09:03 -070024 dis-xxx: '-DQCBOR_DISABLE_TAGS'
25
26 - os-image: ubuntu-latest
27 container: ubuntu:22.04
28 dis-xxx: '-DUSEFULBUF_DISABLE_ALL_FLOAT'
29
30 - os-image: ubuntu-latest
31 container: ubuntu:22.04
32 dis-xxx: '-DQCBOR_DISABLE_FLOAT_HW_USE'
33
34 - os-image: ubuntu-latest
35 container: ubuntu:22.04
36 dis-xxx: '-DQCBOR_DISABLE_PREFERRED_FLOAT'
37
38 - os-image: ubuntu-latest
39 container: ubuntu:22.04
40 dis-xxx: '-DQCBOR_CONFIG_DISABLE_EXP_AND_MANTISSA'
41
42 - os-image: ubuntu-latest
43 container: ubuntu:22.04
44 dis-xxx: '-DQCBOR_DISABLE_ENCODE_USAGE_GUARDS'
45
46 - os-image: ubuntu-latest
47 container: ubuntu:22.04
48 dis-xxx: '-DQCBOR_DISABLE_INDEFINITE_LENGTH_STRINGS'
49
50 - os-image: ubuntu-latest
51 container: ubuntu:22.04
52 dis-xxx: '-DQCBOR_DISABLE_INDEFINITE_LENGTH_ARRAYS'
53
Laurence Lundblade2c79dac2024-12-25 23:13:38 -050054 - os-image: ubuntu-latest
55 container: ubuntu:22.04
56 dis-xxx: '-DQCBOR_DISABLE_DECODE_CONFORMANCE'
Laurence Lundblade8147f812024-02-22 12:09:03 -070057
58 name: ${{ matrix.config.dis-xxx }} • ${{ matrix.c-compiler }} • ${{ matrix.config.container }}
59
60 runs-on: ${{ matrix.config.os-image }}
61 container: ${{ matrix.config.container }}
62
63 steps:
64 - uses: actions/checkout@v3
65
66 - name: Install build tools
67 run: |
68 set -ex
69 export DEBIAN_FRONTEND=noninteractive
70 apt-get update
71 apt-get install -y build-essential cmake ${{ matrix.c-compiler }}
72 echo "CC=${{ matrix.c-compiler }}" >> $GITHUB_ENV
73
74
75 - name: Build QCBOR
76 run: |
77 set -ex
78 make warn CMD_LINE=${{ matrix.config.dis-xxx }}
79
80 - name: Run tests
81 run: ./qcbortest