]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
Make "config" in matrix singular and pass in env.
authorDarren Tucker <dtucker@dtucker.net>
Sun, 27 Nov 2022 01:14:00 +0000 (12:14 +1100)
committerDarren Tucker <dtucker@dtucker.net>
Sun, 27 Nov 2022 01:14:00 +0000 (12:14 +1100)
This will allow the startup scripts to adapt their behaviour based on
the type and config.

.github/workflows/c-cpp.yml
.github/workflows/selfhosted.yml
.github/workflows/upstream.yml

index 8ab8bd85ee617f0a0831c55dcac18c6fdf92d56a..a12f61e23db07126e403a7da0ea672b9685b8cc1 100644 (file)
@@ -14,72 +14,72 @@ jobs:
       matrix:
         # First we test all OSes in the default configuration.
         target: [ubuntu-20.04, ubuntu-22.04, macos-11, macos-12, windows-2019, windows-2022]
-        configs: [default]
+        config: [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:
-          - { 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 }
+          - { target: windows-2019, config: cygwin-release }
+          - { target: windows-2022, config: cygwin-release }
+          - { target: ubuntu-20.04, config: valgrind-1 }
+          - { target: ubuntu-20.04, config: valgrind-2 }
+          - { target: ubuntu-20.04, config: valgrind-3 }
+          - { target: ubuntu-20.04, config: valgrind-4 }
+          - { target: ubuntu-20.04, config: valgrind-5 }
+          - { target: ubuntu-20.04, config: valgrind-unit }
+          - { target: ubuntu-20.04, config: c89 }
+          - { target: ubuntu-20.04, config: clang-6.0 }
+          - { target: ubuntu-20.04, config: clang-8 }
+          - { target: ubuntu-20.04, config: clang-9 }
+          - { target: ubuntu-20.04, config: clang-10 }
+          - { target: ubuntu-20.04, config: clang-11 }
+          - { target: ubuntu-20.04, config: clang-12-Werror }
+          - { target: ubuntu-20.04, config: clang-sanitize-address }
+          - { target: ubuntu-20.04, config: clang-sanitize-undefined }
+          - { target: ubuntu-20.04, config: gcc-sanitize-address }
+          - { target: ubuntu-20.04, config: gcc-sanitize-undefined }
+          - { target: ubuntu-20.04, config: gcc-7 }
+          - { target: ubuntu-20.04, config: gcc-8 }
+          - { target: ubuntu-20.04, config: gcc-10 }
+          - { target: ubuntu-20.04, config: gcc-11-Werror }
+          - { target: ubuntu-20.04, config: pam }
+          - { target: ubuntu-20.04, config: kitchensink }
+          - { target: ubuntu-20.04, config: hardenedmalloc }
+          - { target: ubuntu-20.04, config: tcmalloc }
+          - { target: ubuntu-20.04, config: musl }
+          - { target: ubuntu-latest, config: libressl-master }
+          - { target: ubuntu-latest, config: libressl-2.2.9 }
+          - { target: ubuntu-latest, config: libressl-2.8.3 }
+          - { target: ubuntu-latest, config: libressl-3.0.2 }
+          - { target: ubuntu-latest, config: libressl-3.2.6 }
+          - { target: ubuntu-latest, config: libressl-3.3.6 }
+          - { target: ubuntu-latest, config: libressl-3.4.3 }
+          - { target: ubuntu-latest, config: libressl-3.5.3 }
+          - { target: ubuntu-latest, config: libressl-3.6.1 }
+          - { target: ubuntu-latest, config: openssl-master }
+          - { target: ubuntu-latest, config: openssl-noec }
+          - { target: ubuntu-latest, config: openssl-1.0.1 }
+          - { target: ubuntu-latest, config: openssl-1.0.1u }
+          - { target: ubuntu-latest, config: openssl-1.0.2u }
+          - { target: ubuntu-latest, config: openssl-1.1.0h }
+          - { target: ubuntu-latest, config: openssl-1.1.1 }
+          - { target: ubuntu-latest, config: openssl-1.1.1k }
+          - { target: ubuntu-latest, config: openssl-1.1.1n }
+          - { target: ubuntu-latest, config: openssl-1.1.1q }
+          - { target: ubuntu-latest, config: openssl-3.0.0 }
+          - { target: ubuntu-latest, config: openssl-3.0.5 }
+          - { target: ubuntu-latest, config: openssl-3.0.7 }
+          - { target: ubuntu-latest, config: openssl-1.1.1_stable }
+          - { target: ubuntu-latest, config: openssl-3.0 }  # stable branch
+          - { target: ubuntu-22.04, config: pam }
+          - { target: ubuntu-22.04, config: krb5 }
+          - { target: ubuntu-22.04, config: heimdal }
+          - { target: ubuntu-22.04, config: libedit }
+          - { target: ubuntu-22.04, config: sk }
+          - { target: ubuntu-22.04, config: selinux }
+          - { target: ubuntu-22.04, config: kitchensink }
+          - { target: ubuntu-22.04, config: without-openssl }
+          - { target: macos-11, config: pam }
+          - { target: macos-12, config: pam }
     runs-on: ${{ matrix.target }}
     steps:
     - name: set cygwin git params
@@ -90,22 +90,22 @@ jobs:
       uses: cygwin/cygwin-install-action@master
     - uses: actions/checkout@main
     - name: setup CI system
-      run: sh ./.github/setup_ci.sh ${{ matrix.configs }}
+      run: sh ./.github/setup_ci.sh ${{ matrix.config }}
     - name: autoreconf
       run: sh -c autoreconf
     - name: configure
-      run: sh ./.github/configure.sh ${{ matrix.configs }}
+      run: sh ./.github/configure.sh ${{ matrix.config }}
     - name: save config
       uses: actions/upload-artifact@main
       with:
-        name: ${{ matrix.target }}-${{ matrix.configs }}-config
+        name: ${{ matrix.target }}-${{ matrix.config }}-config
         path: config.h
     - name: make clean
       run: make clean
     - name: make
       run: make -j2
     - name: make tests
-      run: sh ./.github/run_test.sh ${{ matrix.configs }}
+      run: sh ./.github/run_test.sh ${{ matrix.config }}
       env:
         TEST_SSH_UNSAFE_PERMISSIONS: 1
         TEST_SSH_HOSTBASED_AUTH: yes
@@ -113,7 +113,7 @@ jobs:
       if: failure()
       uses: actions/upload-artifact@main
       with:
-        name: ${{ matrix.target }}-${{ matrix.configs }}-logs
+        name: ${{ matrix.target }}-${{ matrix.config }}-logs
         path: |
           config.h
           config.log
index 3beec9e2187f362ad1792258e14ba650cc3785b0..76acf2cfe915dae604bce924e1ed6f79d38604be 100644 (file)
@@ -12,6 +12,7 @@ jobs:
     env:
       TARGET_TYPE: ${{ matrix.type }}
       TARGET_HOST: ${{ matrix.target }}
+      TARGET_CONFIG: ${{ matrix.config }}
     strategy:
       fail-fast: false
       # We use a matrix in two parts: firstly all of the VMs are tested with the
@@ -49,28 +50,28 @@ jobs:
           - sol10
           - sol11
           - win10
-        configs:
+        config:
           - default
         # Then we include any extra configs we want to test for specific VMs.
         include:
-          - { target: ARM64,  configs: pam }
-          - { target: debian-i386, configs: pam }
-          - { target: dfly30, configs: default, type: libvirt }
-          - { 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 }
+          - { target: ARM64,  config: pam }
+          - { target: debian-i386, config: pam }
+          - { target: dfly30, config: default, type: libvirt }
+          - { target: dfly30, config: without-openssl}
+          - { target: dfly48, config: pam }
+          - { target: dfly58, config: pam }
+          - { target: dfly60, config: pam }
+          - { target: dfly62, config: pam }
+          - { target: fbsd10, config: pam }
+          - { target: fbsd12, config: pam }
+          - { target: fbsd13, config: pam }
+          - { target: nbsd8,  config: pam }
+          - { target: nbsd9,  config: pam }
+          - { target: openindiana, config: pam }
+          - { target: sol10,  config: pam }
+          - { target: sol11,  config: pam-krb5 }
+          - { target: sol11,  config: sol64 }
+          - { target: win10,  config: cygwin-release }
     steps:
     - name: shutdown VM if running
       run: vmshutdown
@@ -81,24 +82,24 @@ jobs:
     - name: startup VM
       run: vmstartup
     - name: configure
-      run: vmrun ./.github/configure.sh ${{ matrix.configs }}
+      run: vmrun ./.github/configure.sh ${{ matrix.config }}
     - name: save config
       uses: actions/upload-artifact@main
       with:
-        name: ${{ matrix.target }}-${{ matrix.configs }}-config
+        name: ${{ matrix.target }}-${{ matrix.config }}-config
         path: config.h
     - name: make clean
       run: vmrun make clean
     - name: make
       run: vmrun make
     - name: make tests
-      run: vmrun ./.github/run_test.sh ${{ matrix.configs }}
+      run: vmrun ./.github/run_test.sh ${{ matrix.config }}
       timeout-minutes: 600
     - name: save logs
       if: failure()
       uses: actions/upload-artifact@main
       with:
-        name: ${{ matrix.target }}-${{ matrix.configs }}-logs
+        name: ${{ matrix.target }}-${{ matrix.config }}-logs
         path: |
           config.h
           config.log
index 57a8cc68f05df504fb0258be32dda819744be671..76515c544b1618e8c2845f2ecadc14121e817f4b 100644 (file)
@@ -10,12 +10,14 @@ jobs:
     if: github.repository == 'openssh/openssh-portable-selfhosted'
     runs-on: ${{ matrix.target }}
     env:
+      TARGET_TYPE: ${{ matrix.type }}
       TARGET_HOST: ${{ matrix.target }}
+      TARGET_CONFIG: ${{ matrix.config }}
     strategy:
       fail-fast: false
       matrix:
         target: [ obsdsnap, obsdsnap-i386 ]
-        configs: [ default, without-openssl, ubsan ]
+        config: [ default, without-openssl, ubsan ]
     steps:
     - name: shutdown VM if running
       run: vmshutdown
@@ -28,11 +30,11 @@ jobs:
     - name: make clean
       run: vmrun "cd /usr/src/usr.bin/ssh && make obj && make clean && cd /usr/src/regress/usr.bin/ssh && make obj && make clean"
     - name: make
-      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"
+      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"
     - name: make install
       run: vmrun "cd /usr/src/usr.bin/ssh && sudo make install"
     - 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"
+      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"
       env:
         SUDO: sudo
       timeout-minutes: 300
@@ -40,7 +42,7 @@ jobs:
       if: failure()
       uses: actions/upload-artifact@main
       with:
-        name: ${{ matrix.target }}-${{ matrix.configs }}-logs
+        name: ${{ matrix.target }}-${{ matrix.config }}-logs
         path: |
           /usr/obj/regress/usr.bin/ssh/*.log
     - name: shutdown VM