]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
update compiler-zoo github actions workflow
authorDmitry Misharov <dmitry@openssl.org>
Thu, 28 Aug 2025 13:54:54 +0000 (15:54 +0200)
committerTomas Mraz <tomas@openssl.org>
Tue, 9 Sep 2025 09:06:32 +0000 (11:06 +0200)
Reviewed-by: Paul Dale <ppzgs1@gmail.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28367)

.github/workflows/compiler-zoo.yml

index aabeaa3d7d389263854495fbb911636d27999316..55cfd71e1984664633551f298c6e9b77d8cac1da 100644 (file)
@@ -13,103 +13,63 @@ permissions:
   contents: read
 
 jobs:
-  compiler:
+  gcc:
     strategy:
       fail-fast: false
       matrix:
-        zoo: [
-          {
-            cc: gcc-9,
-            distro: ubuntu-22.04
-          }, {
-            cc: gcc-10,
-            distro: ubuntu-22.04
-          }, {
-            cc: gcc-11,
-            distro: ubuntu-22.04
-          }, {
-            cc: gcc-12,
-            distro: ubuntu-22.04
-          }, {
-            cc: gcc-13,
-            distro: ubuntu-22.04,
-            gcc-ppa-name: ubuntu-toolchain-r/test
-          }, {
-            cc: clang-11,
-            distro: ubuntu-22.04
-          }, {
-            cc: clang-12,
-            distro: ubuntu-22.04
-          }, {
-            cc: clang-13,
-            distro: ubuntu-22.04
-          }, {
-            cc: clang-14,
-            distro: ubuntu-22.04
-          }, {
-            cc: clang-15,
-            distro: ubuntu-22.04,
-            llvm-ppa-name: jammy
-          }, {
-            cc: clang-16,
-            distro: ubuntu-22.04,
-            llvm-ppa-name: jammy
-          }, {
-            cc: clang-17,
-            distro: ubuntu-22.04,
-            llvm-ppa-name: jammy
-          }
-        ]
-    # We set per-compiler now to allow testing with both older and newer sets
-    # Often, the full range of oldest->newest compilers we want aren't available
-    # in a single version of Ubuntu.
-    runs-on: ${{ matrix.zoo.distro }}
+        gcc: [gcc-9, gcc-10, gcc-11, gcc-12, gcc-13, gcc-14]
+    runs-on: ubuntu-24.04
     steps:
     - name: install packages
       run: |
-        gcc_ppa_name="${{ matrix.zoo.gcc-ppa-name }}"
-        llvm_ppa_name="${{ matrix.zoo.llvm-ppa-name }}"
-
-        # In the Matrix above:
-        # - we set gcc-ppc-name if the GCC version isn't part of the Ubuntu version we're using (see https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test).
-        # - we set llvm-ppa-name if an LLVM version isn't part of the Ubuntu version we're using (see https://apt.llvm.org/).
-        # This is especially needed because even new Ubuntu LTSes aren't available
-        # until a while after release on Github Actions.
-        if [[ -n ${gcc_ppa_name} ]] ; then
-          sudo add-apt-repository ppa:ubuntu-toolchain-r/test
-          sudo apt-get update
-        elif [[ -n ${llvm_ppa_name} ]] ; then
-            wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key |\
-                gpg --dearmor |\
-                sudo tee /usr/share/keyrings/llvm-snapshot.gpg.key > /dev/null
-
-            clang_version="${{ matrix.zoo.cc }}"
-            clang_version="${clang_version/clang-}"
-
-            echo "deb [signed-by=/usr/share/keyrings/llvm-snapshot.gpg.key] http://apt.llvm.org/${{ matrix.zoo.llvm-ppa-name }}/ llvm-toolchain-${{ matrix.zoo.llvm-ppa-name }}-${clang_version} main" \
-                | sudo tee /etc/apt/sources.list.d/llvm.list
-            echo "deb-src [signed-by=/usr/share/keyrings/llvm-snapshot.gpg.key] http://apt.llvm.org/${{ matrix.zoo.llvm-ppa-name }}/ llvm-toolchain-${{ matrix.zoo.llvm-ppa-name }}-${clang_version} main" \
-                | sudo tee -a /etc/apt/sources.list.d/llvm.list
-
-            cat /etc/apt/sources.list.d/llvm.list
-        fi
-
         sudo apt-get update
-        sudo apt-get -y install ${{ matrix.zoo.cc }}
-
-    - uses: actions/checkout@v4
+        sudo apt-get -y install ${{ matrix.gcc }}
+    - uses: actions/checkout@v5
     - name: checkout fuzz/corpora submodule
       run: git submodule update --init --depth 1 fuzz/corpora
-
     - name: config
+      env:
+        CC: ${{ matrix.gcc }}
       run: |
-        CC=${{ matrix.zoo.cc }} ./config --strict-warnings --banner=Configured \
-            no-shared enable-fips
+        ./config --strict-warnings --banner=Configured no-shared enable-fips
+    - name: config dump
+      run: ./configdata.pm --dump
+    - name: make
+      run: make -s -j
+    - name: get cpu info
+      run: |
+        cat /proc/cpuinfo
+        ./util/opensslwrap.sh version -c
+    - name: make test
+      run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
 
+  clang:
+    strategy:
+      fail-fast: false
+      matrix:
+        clang: [clang-11, clang-12, clang-13, clang-14, clang-15, clang-16, clang-17, clang-18, clang-19, clang-20]
+    runs-on: ubuntu-22.04
+    steps:
+    - name: install packages
+      run: |
+        set -euo pipefail
+        VERSION=$(awk -F- '{print $NF}' <<< ${{ matrix.clang }})
+        wget -qO- https://apt.llvm.org/llvm-snapshot.gpg.key | sudo tee /etc/apt/trusted.gpg.d/apt.llvm.org.asc
+        echo "deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-$VERSION main" | sudo tee -a /etc/apt/sources.list
+        sudo apt-get update || true
+        sudo apt-get -y install ${{ matrix.clang }}
+    - uses: actions/checkout@v5
+    - name: checkout fuzz/corpora submodule
+      run: git submodule update --init --depth 1 fuzz/corpora
+    - name: config
+      env:
+        CC: ${{ matrix.clang }}
+      run: |
+        ./config --strict-warnings --banner=Configured no-shared enable-fips
     - name: config dump
       run: ./configdata.pm --dump
     - name: make
-      run: make -s -j4
+      run: make -s -j
     - name: get cpu info
       run: |
         cat /proc/cpuinfo