|
16 | 16 | matrix: |
17 | 17 | include: |
18 | 18 |
|
19 | | - # Minimal 64-bit arch builds |
20 | | - - CC: gcc |
21 | | - feature_set: min |
22 | | - arch: amd64 |
23 | | - os: ubuntu-latest |
24 | | - unittests: false |
25 | | - DISTCHECK: false |
26 | | - |
27 | | - - CC: g++ |
28 | | - feature_set: min |
29 | | - arch: amd64 |
30 | | - os: ubuntu-latest |
31 | | - unittests: false |
32 | | - DISTCHECK: false |
33 | | - |
34 | | - - CC: clang |
35 | | - feature_set: min |
36 | | - arch: amd64 |
37 | | - os: ubuntu-latest |
38 | | - unittests: false |
39 | | - DISTCHECK: false |
40 | | - |
41 | | - # Maximal 64-bit arch builds |
42 | | - - CC: gcc |
43 | | - feature_set: max |
44 | | - arch: amd64 |
45 | | - os: ubuntu-latest |
46 | | - unittests: true |
47 | | - DISTCHECK: true |
48 | | - |
49 | | - - CC: g++ |
50 | | - feature_set: max |
51 | | - arch: amd64 |
52 | | - os: ubuntu-latest |
53 | | - unittests: false |
54 | | - DISTCHECK: false |
55 | | - |
56 | | - - CC: clang |
57 | | - feature_set: max |
58 | | - arch: amd64 |
59 | | - os: ubuntu-latest |
60 | | - unittests: true |
61 | | - DISTCHECK: true |
62 | | - |
63 | | - - CC: clang |
64 | | - feature_set: max |
65 | | - arch: amd64 |
66 | | - os: ubuntu-latest |
67 | | - unittests: true |
68 | | - DISTCHECK: false |
69 | | - name_extra: and AddressSanitized |
70 | | - CFLAGS: "-fsanitize=address -ggdb" |
71 | | - LDFLAGS: "-fsanitize=address" |
72 | | - |
73 | 19 | - CC: clang |
74 | 20 | feature_set: max |
75 | 21 | arch: amd64 |
|
82 | 28 | LDFLAGS: "-fsanitize=undefined -fsanitize=nullability" |
83 | 29 | UBSAN_OPTIONS: print_stacktrace=1:halt_on_error=1:report_error_type=1 |
84 | 30 |
|
85 | | - # Maximal debug 64-bit arch builds |
86 | | - # Check we can also do a static build without |
87 | | - # installing .a files |
88 | | - - CC: gcc |
89 | | - feature_set: max |
90 | | - arch: amd64 |
91 | | - os: ubuntu-latest |
92 | | - unittests: true |
93 | | - DISTCHECK: false |
94 | | - name_extra: and DEBUG |
95 | | - CONF_FLAGS_EXTRA: "--enable-devel-all --disable-static" |
96 | | - |
97 | | - # Maximal 32-bit arch builds |
98 | | - - CC: gcc |
99 | | - feature_set: max |
100 | | - arch: i386 |
101 | | - os: ubuntu-latest |
102 | | - unittests: true |
103 | | - DISTCHECK: false |
104 | | - name_extra: for 32-bit arch (legacy OS) |
105 | | - CFLAGS: "-m32" |
106 | | - LDFLAGS: "-m32" |
107 | | - |
108 | | - - CC: g++ |
109 | | - feature_set: max |
110 | | - arch: i386 |
111 | | - os: ubuntu-latest |
112 | | - unittests: false |
113 | | - DISTCHECK: false |
114 | | - name_extra: for 32-bit arch (legacy OS) |
115 | | - CFLAGS: "-m32" |
116 | | - LDFLAGS: "-m32" |
117 | | - |
118 | | - - CC: clang |
119 | | - feature_set: max |
120 | | - arch: i386 |
121 | | - os: ubuntu-latest |
122 | | - unittests: true |
123 | | - DISTCHECK: false |
124 | | - name_extra: for 32-bit arch (legacy OS) |
125 | | - CFLAGS: "-m32" |
126 | | - LDFLAGS: "-m32" |
127 | | - |
128 | 31 | name: ${{ matrix.feature_set }} features with ${{ matrix.CC }} ${{ matrix.name_extra }} |
129 | 32 | runs-on: ${{ matrix.os }} |
130 | 33 | env: |
@@ -186,62 +89,3 @@ jobs: |
186 | 89 | with: |
187 | 90 | name: test-suite-distcheck-${{ matrix.cc }}-${{ matrix.feature_set }} |
188 | 91 | path: ${{ github.workspace }}/xrdp-*/_build/sub/tests/xrdp/test-suite.log |
189 | | - |
190 | | - cppcheck: |
191 | | - name: cppcheck |
192 | | - runs-on: ubuntu-latest |
193 | | - env: |
194 | | - CC: gcc |
195 | | - # This is required to use a version of cppcheck other than that |
196 | | - # supplied with the operating system |
197 | | - CPPCHECK_VER: "2.18.3" |
198 | | - CPPCHECK_REPO: https://github.com/danmar/cppcheck.git |
199 | | - steps: |
200 | | - # Set steps.os.outputs.image to the specific OS (e.g. 'ubuntu20') |
201 | | - - name: Get operating system name and version. |
202 | | - id: os |
203 | | - run: echo "image=$ImageOS" >>$GITHUB_OUTPUT |
204 | | - shell: bash |
205 | | - - uses: actions/checkout@v4 |
206 | | - - name: Cache cppcheck |
207 | | - uses: actions/cache@v4 |
208 | | - env: |
209 | | - cache-name: cache-cppcheck |
210 | | - with: |
211 | | - path: ~/cppcheck.local |
212 | | - key: ${{ steps.os.outputs.image }}-build-${{ env.cache-name }}-${{ env.CPPCHECK_VER }} |
213 | | - - run: sudo scripts/install_cppcheck_dependencies_with_apt.sh $CPPCHECK_VER |
214 | | - - run: ./bootstrap |
215 | | - - run: ./configure |
216 | | - - run: scripts/install_cppcheck.sh $CPPCHECK_REPO $CPPCHECK_VER |
217 | | - - run: scripts/run_cppcheck.sh -v $CPPCHECK_VER |
218 | | - |
219 | | - code_formatting_check: |
220 | | - name: code formatting check |
221 | | - runs-on: ubuntu-latest |
222 | | - env: |
223 | | - CC: gcc |
224 | | - # This is required to use a version of astyle other than that |
225 | | - # supplied with the operating system |
226 | | - ASTYLE_VER: 3.4.14 |
227 | | - ASTYLE_REPO: https://gitlab.com/saalen/astyle.git |
228 | | - steps: |
229 | | - # Set steps.os.outputs.image to the specific OS (e.g. 'ubuntu20') |
230 | | - - name: Get operating system name and version. |
231 | | - id: os |
232 | | - run: echo "image=$ImageOS" >>$GITHUB_OUTPUT |
233 | | - shell: bash |
234 | | - - uses: actions/checkout@v4 |
235 | | - - name: Cache astyle |
236 | | - uses: actions/cache@v4 |
237 | | - env: |
238 | | - cache-name: cache-astyle |
239 | | - with: |
240 | | - path: ~/astyle.local |
241 | | - key: ${{ steps.os.outputs.image }}-build-${{ env.cache-name }}-${{ env.ASTYLE_VER }} |
242 | | - - run: sudo scripts/install_astyle_dependencies_with_apt.sh |
243 | | - - run: scripts/install_astyle.sh $ASTYLE_REPO $ASTYLE_VER |
244 | | - - name: Format code with astyle |
245 | | - run: scripts/run_astyle.sh -v $ASTYLE_VER |
246 | | - - name: Check code formatting |
247 | | - run: git diff --exit-code |
0 commit comments