1name: C/C++ CI
2
3on:
4  push:
5    branches: [ master, ci ]
6  pull_request:
7    branches: [ master ]
8
9jobs:
10  ubuntu-20_04:
11
12    runs-on: ubuntu-20.04
13
14    strategy:
15      matrix:
16        configs:
17        - ""
18        - "--with-kerberos5 --with-libedit --with-pam --with-security-key-builtin --with-selinux --with-Werror"
19        - "--with-ldflags=-lhardened_malloc"
20
21    steps:
22    - uses: actions/checkout@v2
23    - name: setup CI system
24      run: ./.github/setup_ci.sh ${{ matrix.configs }}
25    - name: autoreconf
26      run: autoreconf
27    - name: configure
28      run: ./configure ${{ matrix.configs }}
29    - name: make
30      run: make
31    - name: copy moduli
32      run: sudo cp moduli /usr/local/etc/
33    - name: make tests
34      run: ./.github/run_test.sh ${{ matrix.configs }}
35      env:
36        SUDO: sudo
37        TEST_SSH_UNSAFE_PERMISSIONS: 1
38
39
40  ubuntu-18_04:
41    runs-on: ubuntu-18.04
42    strategy:
43      matrix:
44        configs:
45        - ""
46        - "--with-kerberos5"
47        - "--with-libedit"
48        - "--with-pam"
49        - "--with-security-key-builtin"
50        - "--with-selinux"
51        - "--with-kerberos5 --with-libedit --with-pam --with-security-key-builtin --with-selinux"
52        - "--without-openssl --without-zlib"
53    steps:
54    - uses: actions/checkout@v2
55    - name: setup CI system
56      run: ./.github/setup_ci.sh ${{ matrix.configs }}
57    - name: autoreconf
58      run: autoreconf
59    - name: configure
60      run: ./configure ${{ matrix.configs }}
61    - name: make
62      run: make
63    - name: copy moduli
64      run: sudo cp moduli /usr/local/etc/
65    - name: make tests
66      run: ./.github/run_test.sh ${{ matrix.configs }}
67      env:
68        SUDO: sudo
69        TEST_SSH_UNSAFE_PERMISSIONS: 1
70
71
72  ubuntu-16_04:
73    runs-on: ubuntu-16.04
74    strategy:
75      matrix:
76        configs:
77        - ""
78        - "--with-pam --with-selinux --with-libedit --with-kerberos5 "
79    steps:
80    - uses: actions/checkout@v2
81    - name: setup CI system
82      run: ./.github/setup_ci.sh ${{ matrix.configs }}
83    - name: autoreconf
84      run: autoreconf
85    - name: configure
86      run: ./configure ${{ matrix.configs }}
87    - name: make
88      run: make
89    - name: copy moduli
90      run: sudo cp moduli /usr/local/etc/
91    - name: make tests
92      run: ./.github/run_test.sh ${{ matrix.configs }}
93      env:
94        SUDO: sudo
95        TEST_SSH_UNSAFE_PERMISSIONS: 1
96
97
98  macos:
99    strategy:
100      matrix:
101        os: [ macos-10.15, macos-11.0 ]
102        configs:
103        - ""
104        - "--with-pam"
105    runs-on: ${{ matrix.os }}
106    steps:
107    - uses: actions/checkout@v2
108    - name: setup CI system
109      run: ./.github/setup_ci.sh ${{ matrix.configs }}
110    - name: autoreconf
111      run: autoreconf
112    - name: configure
113      run: ./configure --with-ssl-dir=/usr/local/opt/openssl ${{ matrix.configs }}
114    - name: make
115      run: make
116    - name: copy moduli
117      run: sudo cp moduli /usr/local/etc/
118    - name: make tests
119      run: ./.github/run_test.sh ${{ matrix.configs }}
120      env:
121        SUDO: sudo
122        TEST_SSH_UNSAFE_PERMISSIONS: 1
123