2021-04-28 03:35:28 +02:00
name : Upstream self-hosted
on :
push :
branches : [ master, ci ]
2022-05-06 06:50:18 +02:00
paths : [ '**.c' , '**.h' , '**.yml' ]
2021-04-28 03:35:28 +02:00
jobs :
selfhosted :
if : github.repository == 'openssh/openssh-portable-selfhosted'
runs-on : ${{ matrix.os }}
env :
TARGET_HOST : ${{ matrix.os }}
strategy :
fail-fast : false
matrix :
2022-02-11 03:39:29 +01:00
os : [ obsdsnap, obsdsnap-i386 ]
2022-05-06 06:39:34 +02:00
configs : [ default, without-openssl, ubsan ]
2021-04-28 03:35:28 +02:00
steps :
- uses : actions/checkout@v2
- name : shutdown VM if running
run : vmshutdown
- name : startup VM
run : vmstartup
- name : update source
run : vmrun "cd /usr/src && cvs up -dPA usr.bin/ssh regress/usr.bin/ssh"
2021-07-24 05:02:51 +02:00
- name : make clean
2022-05-06 06:39:34 +02:00
run : vmrun "cd /usr/src/usr.bin/ssh && make obj && make clean && cd /usr/src/regress/usr.bin/ssh && make obj && make clean"
2021-04-28 03:35:28 +02:00
- name : make
2022-05-06 06:39:34 +02:00
run : vmrun "cd /usr/src/usr.bin/ssh && case ${{ matrix.configs }} in without-openssl) make OPENSSL=no;; ubsan) make DEBUG='-fsanitize-minimal-runtime -fsanitize=undefined';; *) make; esac"
2021-04-28 03:35:28 +02:00
- name : make install
run : vmrun "cd /usr/src/usr.bin/ssh && sudo make install"
2022-05-06 06:39:34 +02:00
- name : make tests`
run : vmrun "cd /usr/src/regress/usr.bin/ssh && case ${{ matrix.configs }} in without-openssl) make OPENSSL=no;; ubsan) make DEBUG='-fsanitize-minimal-runtime -fsanitize=undefined';; *) make; esac"
env :
SUDO : sudo
2021-12-10 01:57:30 +01:00
timeout-minutes : 300
2021-06-07 11:19:23 +02:00
- name : save logs
if : failure()
uses : actions/upload-artifact@v2
with :
2021-07-24 05:02:51 +02:00
name : ${{ matrix.os }}-${{ matrix.configs }}-logs
2021-06-07 11:19:23 +02:00
path : |
/usr/obj/regress/usr.bin/ssh/*.log
2021-04-28 03:35:28 +02:00
- name : shutdown VM
if : always()
run : vmshutdown