mirror of
git://anongit.mindrot.org/openssh.git
synced 2025-02-09 18:36:56 +00:00
Run a separate build for the unit tests under Valgrind. They take long enough that running in parallel with the other Valgrind tests helps.
67 lines
2.3 KiB
YAML
67 lines
2.3 KiB
YAML
name: C/C++ CI
|
|
|
|
on:
|
|
push:
|
|
branches: [ master, ci ]
|
|
pull_request:
|
|
branches: [ master ]
|
|
|
|
jobs:
|
|
ci:
|
|
if: github.repository != 'openssh/openssh-portable-selfhosted'
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
# First we test all OSes in the default configuration.
|
|
os: [ubuntu-20.04, ubuntu-18.04, ubuntu-16.04, macos-10.15]
|
|
configs: [default]
|
|
# Then we include any extra configs we want to test for specific VMs.
|
|
# Valgrind slows things down quite a bit, so start them first.
|
|
include:
|
|
- { os: ubuntu-20.04, configs: valgrind-1 }
|
|
- { os: ubuntu-20.04, configs: valgrind-2 }
|
|
- { os: ubuntu-20.04, configs: valgrind-3 }
|
|
- { os: ubuntu-20.04, configs: valgrind-4 }
|
|
- { os: ubuntu-20.04, configs: valgrind-unit }
|
|
- { os: ubuntu-20.04, configs: pam }
|
|
- { 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: pam }
|
|
- { 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: pam }
|
|
- { os: ubuntu-16.04, configs: kitchensink }
|
|
- { os: macos-10.15, configs: 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: ./.github/configure.sh ${{ matrix.configs }}
|
|
- name: make
|
|
run: make -j2
|
|
- name: make tests
|
|
run: ./.github/run_test.sh ${{ matrix.configs }}
|
|
env:
|
|
SUDO: sudo
|
|
TEST_SSH_UNSAFE_PERMISSIONS: 1
|
|
- name: save logs
|
|
if: failure()
|
|
uses: actions/upload-artifact@v2
|
|
with:
|
|
name: ${{ matrix.os }}-${{ matrix.configs }}-logs
|
|
path: |
|
|
config.h
|
|
config.log
|
|
regress/*.log
|
|
regress/valgrind-out/
|