name: C/C++ CI on: push: branches: [ master, ci ] pull_request: branches: [ master ] jobs: linux: if: github.repository != 'openssh/openssh-portable-selfhosted' strategy: fail-fast: false matrix: os: [ubuntu-16_04, ubuntu-18_04, ubuntu-20.04] configs: [default, pam] # Then we include any extra configs we want to test for specific VMs. include: - { os: ubuntu-20.04, configs: kitchensink } - { os: ubuntu-20.04, configs: hardenedmalloc } - { os: ubuntu-20.04, configs: libressl-head } - { os: ubuntu-20.04, configs: openssl-head } - { os: ubuntu-18.04, configs: kerberos5 } - { os: ubuntu-18.04, configs: libedit } - { os: ubuntu-18.04, configs: sk } - { os: ubuntu-18.04, configs: selinux } - { os: ubuntu-18.04, configs: kitchensink } - { os: ubuntu-18.04, configs: without-openssl } - { os: ubuntu-16_04, configs: kitchensink } runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v2 - name: setup CI system run: ./.github/setup_ci.sh ${{ matrix.configs }} - name: autoreconf run: autoreconf - name: configure run: ./.github/configure.sh ${{ matrix.configs }} - name: make run: make -j2 - name: copy moduli run: sudo cp moduli /usr/local/etc/ - name: make tests run: ./.github/run_test.sh ${{ matrix.configs }} env: SUDO: sudo TEST_SSH_UNSAFE_PERMISSIONS: 1 macos: if: github.repository != 'openssh/openssh-portable-selfhosted' strategy: matrix: os: [ macos-10.15, macos-11.0 ] configs: [default, pam] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v2 - name: setup CI system run: ./.github/setup_ci.sh ${{ matrix.configs }} - name: autoreconf run: autoreconf - name: configure run: ./configure --with-ssl-dir=/usr/local/opt/openssl ${{ matrix.configs }} - name: make run: make -j2 - name: copy moduli run: sudo cp moduli /usr/local/etc/ - name: make tests run: ./.github/run_test.sh ${{ matrix.configs }} env: SUDO: sudo TEST_SSH_UNSAFE_PERMISSIONS: 1