diff options
-rw-r--r-- | .github/workflows/c-cpp.yml | 136 | ||||
-rw-r--r-- | .github/workflows/selfhosted.yml | 49 | ||||
-rw-r--r-- | .github/workflows/upstream.yml | 8 |
3 files changed, 98 insertions, 95 deletions
diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index e1fbcdb8..8ab8bd85 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -13,80 +13,80 @@ jobs: fail-fast: false matrix: # First we test all OSes in the default configuration. - os: [ubuntu-20.04, ubuntu-22.04, macos-11, macos-12, windows-2019, windows-2022] + target: [ubuntu-20.04, ubuntu-22.04, macos-11, macos-12, windows-2019, windows-2022] 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: windows-2019, configs: cygwin-release } - - { os: windows-2022, configs: cygwin-release } - - { 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-5 } - - { os: ubuntu-20.04, configs: valgrind-unit } - - { os: ubuntu-20.04, configs: c89 } - - { os: ubuntu-20.04, configs: clang-6.0 } - - { os: ubuntu-20.04, configs: clang-8 } - - { os: ubuntu-20.04, configs: clang-9 } - - { os: ubuntu-20.04, configs: clang-10 } - - { os: ubuntu-20.04, configs: clang-11 } - - { os: ubuntu-20.04, configs: clang-12-Werror } - - { os: ubuntu-20.04, configs: clang-sanitize-address } - - { os: ubuntu-20.04, configs: clang-sanitize-undefined } - - { os: ubuntu-20.04, configs: gcc-sanitize-address } - - { os: ubuntu-20.04, configs: gcc-sanitize-undefined } - - { os: ubuntu-20.04, configs: gcc-7 } - - { os: ubuntu-20.04, configs: gcc-8 } - - { os: ubuntu-20.04, configs: gcc-10 } - - { os: ubuntu-20.04, configs: gcc-11-Werror } - - { os: ubuntu-20.04, configs: pam } - - { os: ubuntu-20.04, configs: kitchensink } - - { os: ubuntu-20.04, configs: hardenedmalloc } - - { os: ubuntu-20.04, configs: tcmalloc } - - { os: ubuntu-20.04, configs: musl } - - { os: ubuntu-latest, configs: libressl-master } - - { os: ubuntu-latest, configs: libressl-2.2.9 } - - { os: ubuntu-latest, configs: libressl-2.8.3 } - - { os: ubuntu-latest, configs: libressl-3.0.2 } - - { os: ubuntu-latest, configs: libressl-3.2.6 } - - { os: ubuntu-latest, configs: libressl-3.3.6 } - - { os: ubuntu-latest, configs: libressl-3.4.3 } - - { os: ubuntu-latest, configs: libressl-3.5.3 } - - { os: ubuntu-latest, configs: libressl-3.6.1 } - - { os: ubuntu-latest, configs: openssl-master } - - { os: ubuntu-latest, configs: openssl-noec } - - { os: ubuntu-latest, configs: openssl-1.0.1 } - - { os: ubuntu-latest, configs: openssl-1.0.1u } - - { os: ubuntu-latest, configs: openssl-1.0.2u } - - { os: ubuntu-latest, configs: openssl-1.1.0h } - - { os: ubuntu-latest, configs: openssl-1.1.1 } - - { os: ubuntu-latest, configs: openssl-1.1.1k } - - { os: ubuntu-latest, configs: openssl-1.1.1n } - - { os: ubuntu-latest, configs: openssl-1.1.1q } - - { os: ubuntu-latest, configs: openssl-3.0.0 } - - { os: ubuntu-latest, configs: openssl-3.0.5 } - - { os: ubuntu-latest, configs: openssl-3.0.7 } - - { os: ubuntu-latest, configs: openssl-1.1.1_stable } # stable branch - - { os: ubuntu-latest, configs: openssl-3.0 } # stable branch - - { os: ubuntu-22.04, configs: pam } - - { os: ubuntu-22.04, configs: krb5 } - - { os: ubuntu-22.04, configs: heimdal } - - { os: ubuntu-22.04, configs: libedit } - - { os: ubuntu-22.04, configs: sk } - - { os: ubuntu-22.04, configs: selinux } - - { os: ubuntu-22.04, configs: kitchensink } - - { os: ubuntu-22.04, configs: without-openssl } - - { os: macos-11, configs: pam } - - { os: macos-12, configs: pam } - runs-on: ${{ matrix.os }} + - { target: windows-2019, configs: cygwin-release } + - { target: windows-2022, configs: cygwin-release } + - { target: ubuntu-20.04, configs: valgrind-1 } + - { target: ubuntu-20.04, configs: valgrind-2 } + - { target: ubuntu-20.04, configs: valgrind-3 } + - { target: ubuntu-20.04, configs: valgrind-4 } + - { target: ubuntu-20.04, configs: valgrind-5 } + - { target: ubuntu-20.04, configs: valgrind-unit } + - { target: ubuntu-20.04, configs: c89 } + - { target: ubuntu-20.04, configs: clang-6.0 } + - { target: ubuntu-20.04, configs: clang-8 } + - { target: ubuntu-20.04, configs: clang-9 } + - { target: ubuntu-20.04, configs: clang-10 } + - { target: ubuntu-20.04, configs: clang-11 } + - { target: ubuntu-20.04, configs: clang-12-Werror } + - { target: ubuntu-20.04, configs: clang-sanitize-address } + - { target: ubuntu-20.04, configs: clang-sanitize-undefined } + - { target: ubuntu-20.04, configs: gcc-sanitize-address } + - { target: ubuntu-20.04, configs: gcc-sanitize-undefined } + - { target: ubuntu-20.04, configs: gcc-7 } + - { target: ubuntu-20.04, configs: gcc-8 } + - { target: ubuntu-20.04, configs: gcc-10 } + - { target: ubuntu-20.04, configs: gcc-11-Werror } + - { target: ubuntu-20.04, configs: pam } + - { target: ubuntu-20.04, configs: kitchensink } + - { target: ubuntu-20.04, configs: hardenedmalloc } + - { target: ubuntu-20.04, configs: tcmalloc } + - { target: ubuntu-20.04, configs: musl } + - { target: ubuntu-latest, configs: libressl-master } + - { target: ubuntu-latest, configs: libressl-2.2.9 } + - { target: ubuntu-latest, configs: libressl-2.8.3 } + - { target: ubuntu-latest, configs: libressl-3.0.2 } + - { target: ubuntu-latest, configs: libressl-3.2.6 } + - { target: ubuntu-latest, configs: libressl-3.3.6 } + - { target: ubuntu-latest, configs: libressl-3.4.3 } + - { target: ubuntu-latest, configs: libressl-3.5.3 } + - { target: ubuntu-latest, configs: libressl-3.6.1 } + - { target: ubuntu-latest, configs: openssl-master } + - { target: ubuntu-latest, configs: openssl-noec } + - { target: ubuntu-latest, configs: openssl-1.0.1 } + - { target: ubuntu-latest, configs: openssl-1.0.1u } + - { target: ubuntu-latest, configs: openssl-1.0.2u } + - { target: ubuntu-latest, configs: openssl-1.1.0h } + - { target: ubuntu-latest, configs: openssl-1.1.1 } + - { target: ubuntu-latest, configs: openssl-1.1.1k } + - { target: ubuntu-latest, configs: openssl-1.1.1n } + - { target: ubuntu-latest, configs: openssl-1.1.1q } + - { target: ubuntu-latest, configs: openssl-3.0.0 } + - { target: ubuntu-latest, configs: openssl-3.0.5 } + - { target: ubuntu-latest, configs: openssl-3.0.7 } + - { target: ubuntu-latest, configs: openssl-1.1.1_stable } + - { target: ubuntu-latest, configs: openssl-3.0 } # stable branch + - { target: ubuntu-22.04, configs: pam } + - { target: ubuntu-22.04, configs: krb5 } + - { target: ubuntu-22.04, configs: heimdal } + - { target: ubuntu-22.04, configs: libedit } + - { target: ubuntu-22.04, configs: sk } + - { target: ubuntu-22.04, configs: selinux } + - { target: ubuntu-22.04, configs: kitchensink } + - { target: ubuntu-22.04, configs: without-openssl } + - { target: macos-11, configs: pam } + - { target: macos-12, configs: pam } + runs-on: ${{ matrix.target }} steps: - name: set cygwin git params - if: ${{ startsWith(matrix.os, 'windows') }} + if: ${{ startsWith(matrix.target, 'windows') }} run: git config --global core.autocrlf input - name: install cygwin - if: ${{ startsWith(matrix.os, 'windows') }} + if: ${{ startsWith(matrix.target, 'windows') }} uses: cygwin/cygwin-install-action@master - uses: actions/checkout@main - name: setup CI system @@ -98,7 +98,7 @@ jobs: - name: save config uses: actions/upload-artifact@main with: - name: ${{ matrix.os }}-${{ matrix.configs }}-config + name: ${{ matrix.target }}-${{ matrix.configs }}-config path: config.h - name: make clean run: make clean @@ -113,7 +113,7 @@ jobs: if: failure() uses: actions/upload-artifact@main with: - name: ${{ matrix.os }}-${{ matrix.configs }}-logs + name: ${{ matrix.target }}-${{ matrix.configs }}-logs path: | config.h config.log diff --git a/.github/workflows/selfhosted.yml b/.github/workflows/selfhosted.yml index b05d3caa..e5a5625e 100644 --- a/.github/workflows/selfhosted.yml +++ b/.github/workflows/selfhosted.yml @@ -7,16 +7,17 @@ on: jobs: selfhosted: if: github.repository == 'openssh/openssh-portable-selfhosted' - runs-on: ${{ matrix.os }} + runs-on: ${{ matrix.target }} timeout-minutes: 600 env: - TARGET_HOST: ${{ matrix.os }} + TARGET_HOST: ${{ matrix.target }} strategy: fail-fast: false # We use a matrix in two parts: firstly all of the VMs are tested with the - # default config. "os" corresponds to a label associated with the worker. + # default config. "target" corresponds to a label associated with the + # worker. matrix: - os: + target: - aix51 - ARM - ARM64 @@ -47,25 +48,27 @@ jobs: - sol10 - sol11 - win10 + configs: + - default # Then we include any extra configs we want to test for specific VMs. include: - - { os: ARM64, configs: pam } - - { os: debian-i386, configs: pam } - - { os: dfly30, configs: without-openssl} - - { os: dfly48, configs: pam } - - { os: dfly58, configs: pam } - - { os: dfly60, configs: pam } - - { os: dfly62, configs: pam } - - { os: fbsd10, configs: pam } - - { os: fbsd12, configs: pam } - - { os: fbsd13, configs: pam } - - { os: nbsd8, configs: pam } - - { os: nbsd9, configs: pam } - - { os: openindiana, configs: pam } - - { os: sol10, configs: pam } - - { os: sol11, configs: pam-krb5 } - - { os: sol11, configs: sol64 } - - { os: win10, configs: cygwin-release } + - { target: ARM64, configs: pam } + - { target: debian-i386, configs: pam } + - { target: dfly30, configs: without-openssl} + - { target: dfly48, configs: pam } + - { target: dfly58, configs: pam } + - { target: dfly60, configs: pam } + - { target: dfly62, configs: pam } + - { target: fbsd10, configs: pam } + - { target: fbsd12, configs: pam } + - { target: fbsd13, configs: pam } + - { target: nbsd8, configs: pam } + - { target: nbsd9, configs: pam } + - { target: openindiana, configs: pam } + - { target: sol10, configs: pam } + - { target: sol11, configs: pam-krb5 } + - { target: sol11, configs: sol64 } + - { target: win10, configs: cygwin-release } steps: - name: shutdown VM if running run: vmshutdown @@ -80,7 +83,7 @@ jobs: - name: save config uses: actions/upload-artifact@main with: - name: ${{ matrix.os }}-${{ matrix.configs }}-config + name: ${{ matrix.target }}-${{ matrix.configs }}-config path: config.h - name: make clean run: vmrun make clean @@ -93,7 +96,7 @@ jobs: if: failure() uses: actions/upload-artifact@main with: - name: ${{ matrix.os }}-${{ matrix.configs }}-logs + name: ${{ matrix.target }}-${{ matrix.configs }}-logs path: | config.h config.log diff --git a/.github/workflows/upstream.yml b/.github/workflows/upstream.yml index 26233e43..57a8cc68 100644 --- a/.github/workflows/upstream.yml +++ b/.github/workflows/upstream.yml @@ -8,13 +8,13 @@ on: jobs: selfhosted: if: github.repository == 'openssh/openssh-portable-selfhosted' - runs-on: ${{ matrix.os }} + runs-on: ${{ matrix.target }} env: - TARGET_HOST: ${{ matrix.os }} + TARGET_HOST: ${{ matrix.target }} strategy: fail-fast: false matrix: - os: [ obsdsnap, obsdsnap-i386 ] + target: [ obsdsnap, obsdsnap-i386 ] configs: [ default, without-openssl, ubsan ] steps: - name: shutdown VM if running @@ -40,7 +40,7 @@ jobs: if: failure() uses: actions/upload-artifact@main with: - name: ${{ matrix.os }}-${{ matrix.configs }}-logs + name: ${{ matrix.target }}-${{ matrix.configs }}-logs path: | /usr/obj/regress/usr.bin/ssh/*.log - name: shutdown VM |