@@ -3,13 +3,14 @@ name: C/C++ CI
33on :
44 push :
55 branches : [ master, pre-stage, release_candidates, dev_major, dev_minor ]
6- paths : [ '**.c', '**.h', '**.m4', '**.sh', '.github/**', '** /Makefile.in', 'configure.ac' ]
6+ paths : [ '**.c', '**.h', '**.m4', '**.sh', '** /Makefile.in', 'configure.ac', '.github/configs', '.github/workflows/c-cpp.yaml ' ]
77 pull_request :
88 branches : [ master, release_candidates ]
9- paths : [ '**.c', '**.h', '**.m4', '**.sh', '.github/**', '** /Makefile.in', 'configure.ac' ]
9+ paths : [ '**.c', '**.h', '**.m4', '**.sh', '** /Makefile.in', 'configure.ac', '.github/configs', '.github/workflows/c-cpp.yaml ' ]
1010
1111jobs :
1212 ci :
13+ name : " ${{ matrix.target }} ${{ matrix.config }}"
1314 if : github.repository != 'openssh/openssh-portable-selfhosted'
1415 strategy :
1516 fail-fast : false
@@ -18,42 +19,58 @@ jobs:
1819 target :
1920 - ubuntu-20.04
2021 - ubuntu-22.04
21- - macos-11
22+ - ubuntu-24.04
2223 - macos-12
2324 - macos-13
25+ - macos-14
26+ - windows-2019
27+ - windows-2022
2428 config : [default]
2529 # Then we include any extra configs we want to test for specific VMs.
2630 include :
27- - { target: ubuntu-20.04, config: valgrind-1 }
28- - { target: ubuntu-20.04, config: valgrind-2 }
29- - { target: ubuntu-20.04, config: valgrind-3 }
30- - { target: ubuntu-20.04, config: valgrind-4 }
31- # - { target: ubuntu-20.04, config: valgrind-5 }
32- - { target: ubuntu-20.04, config: valgrind-6 }
33- - { target: ubuntu-20.04, config: valgrind-7 }
31+ - { target: windows-2019, config: cygwin-release }
32+ - { target: windows-2022, config: cygwin-release }
33+ - { target: ubuntu-22.04, config: valgrind-1 }
34+ - { target: ubuntu-22.04, config: valgrind-2 }
35+ - { target: ubuntu-22.04, config: valgrind-3 }
36+ - { target: ubuntu-22.04, config: valgrind-4 }
37+ # - { target: ubuntu-22.04, config: valgrind-5 }
38+ - { target: ubuntu-22.04, config: valgrind-6 }
39+ - { target: ubuntu-22.04, config: valgrind-7 }
40+ - { target: ubuntu-22.04, config: valgrind-unit }
3441# binn.c no longer works with c89 so remove this test.
35- # - { target: ubuntu-20 .04, config: c89 }
42+ # - { target: ubuntu-22 .04, config: c89 }
3643 - { target: ubuntu-20.04, config: clang-6.0 }
3744 - { target: ubuntu-20.04, config: clang-8 }
3845 - { target: ubuntu-20.04, config: clang-9 }
3946 - { target: ubuntu-20.04, config: clang-10 }
4047 - { target: ubuntu-20.04, config: clang-11 }
4148 - { target: ubuntu-20.04, config: clang-12-Werror }
49+ - { target: ubuntu-20.04, config: clang-sanitize-address }
50+ - { target: ubuntu-20.04, config: clang-sanitize-undefined }
51+ - { target: ubuntu-20.04, config: gcc-sanitize-address }
52+ - { target: ubuntu-20.04, config: gcc-sanitize-undefined }
4253 - { target: ubuntu-20.04, config: gcc-7 }
4354 - { target: ubuntu-20.04, config: gcc-8 }
4455 - { target: ubuntu-20.04, config: gcc-10 }
4556 - { target: ubuntu-22.04, config: gcc-11-Werror }
4657 - { target: ubuntu-22.04, config: gcc-12-Werror }
47- - { target: ubuntu-20 .04, config: pam }
48- - { target: ubuntu-20 .04, config: kitchensink }
58+ - { target: ubuntu-22 .04, config: pam }
59+ - { target: ubuntu-22 .04, config: kitchensink }
4960 - { target: ubuntu-22.04, config: hardenedmalloc }
5061 - { target: ubuntu-20.04, config: tcmalloc }
62+ - { target: ubuntu-22.04, config: krb5 }
63+ - { target: ubuntu-22.04, config: heimdal }
64+ - { target: ubuntu-22.04, config: libedit }
65+ - { target: ubuntu-22.04, config: sk }
66+ - { target: ubuntu-22.04, config: selinux }
67+ - { target: ubuntu-22.04, config: without-openssl }
5168# musl doesn't work because it doesn't know about linux/tcp.h
5269# - { target: ubuntu-20.04, config: musl }
5370 - { target: ubuntu-latest, config: libressl-master }
5471 - { target: ubuntu-latest, config: libressl-3.7.2 }
55- - { target: ubuntu-latest, config: libressl-3.8.3 }
56- - { target: ubuntu-latest, config: libressl-3.9.0 }
72+ - { target: ubuntu-latest, config: libressl-3.8.4 }
73+ - { target: ubuntu-latest, config: libressl-3.9.1 }
5774 - { target: ubuntu-latest, config: openssl-master }
5875 - { target: ubuntu-latest, config: openssl-noec }
5976 - { target: ubuntu-latest, config: openssl-1.1.1 }
6481 - { target: ubuntu-latest, config: openssl-3.1.0 }
6582 - { target: ubuntu-latest, config: openssl-3.1.5 }
6683 - { target: ubuntu-latest, config: openssl-3.2.1 }
84+ - { target: ubuntu-latest, config: openssl-3.3.0 }
6785 - { target: ubuntu-latest, config: openssl-1.1.1_stable }
6886 - { target: ubuntu-latest, config: openssl-3.0 } # stable branch
87+ - { target: ubuntu-latest, config: openssl-3.1 } # stable branch
6988 - { target: ubuntu-latest, config: openssl-3.2 } # stable branch
89+ - { target: ubuntu-latest, config: openssl-3.3 } # stable branch
7090 - { target: ubuntu-latest, config: putty-0.71 }
7191 - { target: ubuntu-latest, config: putty-0.72 }
7292 - { target: ubuntu-latest, config: putty-0.73 }
@@ -79,25 +99,19 @@ jobs:
7999 - { target: ubuntu-latest, config: putty-0.80 }
80100 - { target: ubuntu-latest, config: putty-snapshot }
81101 - { target: ubuntu-latest, config: zlib-develop }
82- - { target: ubuntu-22.04, config: pam }
83- - { target: ubuntu-22.04, config: krb5 }
84- - { target: ubuntu-22.04, config: heimdal }
85- - { target: ubuntu-22.04, config: libedit }
86- - { target: ubuntu-22.04, config: sk }
87- - { target: ubuntu-22.04, config: selinux }
88- - { target: ubuntu-22.04, config: kitchensink }
89- - { target: ubuntu-22.04, config: without-openssl }
90- - { target: ubuntu-22.04, config: clang-sanitize-address }
91- - { target: ubuntu-22.04, config: clang-sanitize-undefined }
92- - { target: ubuntu-22.04, config: gcc-sanitize-address }
93- - { target: ubuntu-22.04, config: gcc-sanitize-undefined }
94102# we know pam doesn't work because we can't install a new pam file
95103# for hpnssh via the CI test methods
96- # - { target: macos-11, config: pam }
97104# - { target: macos-12, config: pam }
98105# - { target: macos-13, config: pam }
106+ # - { target: macos-14, config: pam }
99107 runs-on : ${{ matrix.target }}
100108 steps :
109+ - name : set cygwin git params
110+ if : ${{ startsWith(matrix.target, 'windows') }}
111+ run : git config --global core.autocrlf input
112+ - name : install cygwin
113+ if : ${{ startsWith(matrix.target, 'windows') }}
114+ uses : cygwin/cygwin-install-action@master
101115 - uses : actions/checkout@main
102116 - name : setup CI system
103117 run : sh ./.github/setup_ci.sh ${{ matrix.config }}
0 commit comments