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
42    runs-on: ubuntu-18.04
43
44    strategy:
45      matrix:
46        configs:
47        - ""
48        - "--with-kerberos5"
49        - "--with-libedit"
50        - "--with-pam"
51        - "--with-security-key-builtin"
52        - "--with-selinux"
53        - "--with-kerberos5 --with-libedit --with-pam --with-security-key-builtin --with-selinux"
54        - "--without-openssl --without-zlib"
55
56    steps:
57    - uses: actions/checkout@v2
58    - name: setup CI system
59      run: ./.github/setup_ci.sh ${{ matrix.configs }}
60    - name: autoreconf
61      run: autoreconf
62    - name: configure
63      run: ./configure ${{ matrix.configs }}
64    - name: make
65      run: make
66    - name: copy moduli
67      run: sudo cp moduli /usr/local/etc/
68    - name: make tests
69      run: ./.github/run_test.sh ${{ matrix.configs }}
70      env:
71        SUDO: sudo
72        TEST_SSH_UNSAFE_PERMISSIONS: 1
73
74
75  ubuntu-16_04:
76
77    runs-on: ubuntu-16.04
78
79    strategy:
80      matrix:
81        configs:
82        - ""
83        - "--with-pam --with-selinux --with-libedit --with-kerberos5 "
84
85    steps:
86    - uses: actions/checkout@v2
87    - name: setup CI system
88      run: ./.github/setup_ci.sh ${{ matrix.configs }}
89    - name: autoreconf
90      run: autoreconf
91    - name: configure
92      run: ./configure ${{ matrix.configs }}
93    - name: make
94      run: make
95    - name: copy moduli
96      run: sudo cp moduli /usr/local/etc/
97    - name: make tests
98      run: ./.github/run_test.sh ${{ matrix.configs }}
99      env:
100        SUDO: sudo
101        TEST_SSH_UNSAFE_PERMISSIONS: 1
102
103
104  macos:
105    strategy:
106      matrix:
107        os: [ macos-10.15, macos-11.0 ]
108        configs:
109        - ""
110        - "--with-pam"
111    runs-on: ${{ matrix.os }}
112    steps:
113    - uses: actions/checkout@v2
114    - name: setup CI system
115      run: ./.github/setup_ci.sh ${{ matrix.configs }}
116    - name: autoreconf
117      run: autoreconf
118    - name: configure
119      run: ./configure --with-ssl-dir=/usr/local/opt/openssl ${{ matrix.configs }}
120    - name: make
121      run: make
122    - name: copy moduli
123      run: sudo cp moduli /usr/local/etc/
124    - name: make tests
125      run: ./.github/run_test.sh ${{ matrix.configs }}
126      env:
127        SUDO: sudo
128        TEST_SSH_UNSAFE_PERMISSIONS: 1
129