@@ -3,13 +3,14 @@ name: C/C++ CI
3
3
on :
4
4
push :
5
5
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 ' ]
7
7
pull_request :
8
8
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 ' ]
10
10
11
11
jobs :
12
12
ci :
13
+ name : " ${{ matrix.target }} ${{ matrix.config }}"
13
14
if : github.repository != 'openssh/openssh-portable-selfhosted'
14
15
strategy :
15
16
fail-fast : false
@@ -18,42 +19,58 @@ jobs:
18
19
target :
19
20
- ubuntu-20.04
20
21
- ubuntu-22.04
21
- - macos-11
22
+ - ubuntu-24.04
22
23
- macos-12
23
24
- macos-13
25
+ - macos-14
26
+ - windows-2019
27
+ - windows-2022
24
28
config : [default]
25
29
# Then we include any extra configs we want to test for specific VMs.
26
30
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 }
34
41
# 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 }
36
43
- { target: ubuntu-20.04, config: clang-6.0 }
37
44
- { target: ubuntu-20.04, config: clang-8 }
38
45
- { target: ubuntu-20.04, config: clang-9 }
39
46
- { target: ubuntu-20.04, config: clang-10 }
40
47
- { target: ubuntu-20.04, config: clang-11 }
41
48
- { 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 }
42
53
- { target: ubuntu-20.04, config: gcc-7 }
43
54
- { target: ubuntu-20.04, config: gcc-8 }
44
55
- { target: ubuntu-20.04, config: gcc-10 }
45
56
- { target: ubuntu-22.04, config: gcc-11-Werror }
46
57
- { 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 }
49
60
- { target: ubuntu-22.04, config: hardenedmalloc }
50
61
- { 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 }
51
68
# musl doesn't work because it doesn't know about linux/tcp.h
52
69
# - { target: ubuntu-20.04, config: musl }
53
70
- { target: ubuntu-latest, config: libressl-master }
54
71
- { 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 }
57
74
- { target: ubuntu-latest, config: openssl-master }
58
75
- { target: ubuntu-latest, config: openssl-noec }
59
76
- { target: ubuntu-latest, config: openssl-1.1.1 }
64
81
- { target: ubuntu-latest, config: openssl-3.1.0 }
65
82
- { target: ubuntu-latest, config: openssl-3.1.5 }
66
83
- { target: ubuntu-latest, config: openssl-3.2.1 }
84
+ - { target: ubuntu-latest, config: openssl-3.3.0 }
67
85
- { target: ubuntu-latest, config: openssl-1.1.1_stable }
68
86
- { target: ubuntu-latest, config: openssl-3.0 } # stable branch
87
+ - { target: ubuntu-latest, config: openssl-3.1 } # stable branch
69
88
- { target: ubuntu-latest, config: openssl-3.2 } # stable branch
89
+ - { target: ubuntu-latest, config: openssl-3.3 } # stable branch
70
90
- { target: ubuntu-latest, config: putty-0.71 }
71
91
- { target: ubuntu-latest, config: putty-0.72 }
72
92
- { target: ubuntu-latest, config: putty-0.73 }
@@ -79,25 +99,19 @@ jobs:
79
99
- { target: ubuntu-latest, config: putty-0.80 }
80
100
- { target: ubuntu-latest, config: putty-snapshot }
81
101
- { 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 }
94
102
# we know pam doesn't work because we can't install a new pam file
95
103
# for hpnssh via the CI test methods
96
- # - { target: macos-11, config: pam }
97
104
# - { target: macos-12, config: pam }
98
105
# - { target: macos-13, config: pam }
106
+ # - { target: macos-14, config: pam }
99
107
runs-on : ${{ matrix.target }}
100
108
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
101
115
- uses : actions/checkout@main
102
116
- name : setup CI system
103
117
run : sh ./.github/setup_ci.sh ${{ matrix.config }}
0 commit comments