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