119261079SEd Mastename: Upstream self-hosted 219261079SEd Maste 319261079SEd Masteon: 419261079SEd Maste push: 5f374ba41SEd Maste branches: [ master ] 6*0fdf8faeSEd Maste paths: [ '**.c', '**.h', '**.sh', '.github/configs', '.github/workflows/upstream.yml' ] 719261079SEd Maste 819261079SEd Mastejobs: 919261079SEd Maste selfhosted: 10*0fdf8faeSEd Maste name: "upstream ${{ matrix.target }} ${{ matrix.config }}" 1119261079SEd Maste if: github.repository == 'openssh/openssh-portable-selfhosted' 12f374ba41SEd Maste runs-on: 'libvirt' 1319261079SEd Maste env: 14*0fdf8faeSEd Maste DEBUG_ACTIONS: true 15*0fdf8faeSEd Maste EPHEMERAL: true 16f374ba41SEd Maste HOST: 'libvirt' 17f374ba41SEd Maste TARGET_HOST: ${{ matrix.target }} 18f374ba41SEd Maste TARGET_CONFIG: ${{ matrix.config }} 19*0fdf8faeSEd Maste TARGET_DOMAIN: ${{ format('{0}-{1}-{2}', matrix.target, matrix.config, github.run_id) || matrix.target }} 2019261079SEd Maste strategy: 2119261079SEd Maste fail-fast: false 2219261079SEd Maste matrix: 23f374ba41SEd Maste target: [ obsdsnap, obsdsnap-i386 ] 24f374ba41SEd Maste config: [ default, without-openssl, ubsan ] 2519261079SEd Maste steps: 26*0fdf8faeSEd Maste - name: unmount stale workspace 27*0fdf8faeSEd Maste run: fusermount -u ${GITHUB_WORKSPACE} || true 28*0fdf8faeSEd Maste working-directory: ${{ runner.temp }} 2919261079SEd Maste - name: shutdown VM if running 3019261079SEd Maste run: vmshutdown 31f374ba41SEd Maste working-directory: ${{ runner.temp }} 32f374ba41SEd Maste - uses: actions/checkout@main 3319261079SEd Maste - name: startup VM 3419261079SEd Maste run: vmstartup 35f374ba41SEd Maste working-directory: ${{ runner.temp }} 36*0fdf8faeSEd Maste - name: copy and mount workspace 37*0fdf8faeSEd Maste run: sshfs_mount 38*0fdf8faeSEd Maste working-directory: ${{ runner.temp }} 3919261079SEd Maste - name: update source 4019261079SEd Maste run: vmrun "cd /usr/src && cvs up -dPA usr.bin/ssh regress/usr.bin/ssh" 4119261079SEd Maste - name: make clean 42f374ba41SEd Maste run: vmrun "cd /usr/src/usr.bin/ssh && make obj && make clean && cd /usr/src/regress/usr.bin/ssh && make obj && make clean && sudo chmod -R g-w /usr/src /usr/obj" 4319261079SEd Maste - name: make 44f374ba41SEd Maste run: vmrun "cd /usr/src/usr.bin/ssh && case ${{ matrix.config }} in without-openssl) make OPENSSL=no;; ubsan) make DEBUG='-fsanitize-minimal-runtime -fsanitize=undefined';; *) make; esac" 4519261079SEd Maste - name: make install 46*0fdf8faeSEd Maste run: vmrun "cd /usr/src/usr.bin/ssh && sudo make install && sudo /etc/rc.d/sshd -f restart" 4738a52bd3SEd Maste - name: make tests` 48f374ba41SEd Maste run: vmrun "cd /usr/src/regress/usr.bin/ssh && case ${{ matrix.config }} in without-openssl) make OPENSSL=no;; ubsan) make DEBUG='-fsanitize-minimal-runtime -fsanitize=undefined';; *) make; esac" 4938a52bd3SEd Maste env: 5038a52bd3SEd Maste SUDO: sudo 511323ec57SEd Maste timeout-minutes: 300 5219261079SEd Maste - name: save logs 5319261079SEd Maste if: failure() 54f374ba41SEd Maste uses: actions/upload-artifact@main 5519261079SEd Maste with: 56f374ba41SEd Maste name: ${{ matrix.target }}-${{ matrix.config }}-logs 5719261079SEd Maste path: | 58f374ba41SEd Maste /usr/obj/regress/usr.bin/ssh/obj/*.log 594d3fc8b0SEd Maste /usr/obj/regress/usr.bin/ssh/obj/log/* 60*0fdf8faeSEd Maste - name: unmount workspace 61*0fdf8faeSEd Maste if: always() 62*0fdf8faeSEd Maste run: fusermount -u ${GITHUB_WORKSPACE} || true 63*0fdf8faeSEd Maste working-directory: ${{ runner.temp }} 6419261079SEd Maste - name: shutdown VM 6519261079SEd Maste if: always() 6619261079SEd Maste run: vmshutdown 67f374ba41SEd Maste working-directory: ${{ runner.temp }} 68