]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
Add CI to build with brotli and zstd
authorTodd Short <tshort@akamai.com>
Mon, 9 Aug 2021 20:56:54 +0000 (16:56 -0400)
committerTodd Short <todd.short@me.com>
Tue, 18 Oct 2022 13:30:22 +0000 (09:30 -0400)
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Hugo Landau <hlandau@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/18186)

.github/workflows/ci.yml
.github/workflows/windows_comp.yml [new file with mode: 0644]

index 843ed480cd1579fb96b5d279912f7d370c6e3463..15be557cd60360513099983eec026f077f2edea7 100644 (file)
@@ -199,6 +199,87 @@ jobs:
     - name: make test
       run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
 
+  enable_brotli_dynamic:
+    runs-on: ubuntu-latest
+    steps:
+    - name: install brotli
+      run: |
+        sudo apt-get update
+        sudo apt-get -yq --no-install-suggests --no-install-recommends --force-yes install brotli libbrotli1 libbrotli-dev
+    - name: checkout openssl
+      uses: actions/checkout@v2
+    - name: config
+      run: ./config enable-comp enable-brotli enable-brotli-dynamic && perl configdata.pm --dump
+    - name: make
+      run: make -s -j4
+    - name: make test
+      run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
+
+  enable_zstd_dynamic:
+    runs-on: ubuntu-latest
+    steps:
+    - name: install zstd
+      run: |
+        sudo apt-get update
+        sudo apt-get -yq --no-install-suggests --no-install-recommends --force-yes install zstd libzstd1 libzstd-dev
+    - name: checkout openssl
+      uses: actions/checkout@v2
+    - name: config
+      run: ./config enable-comp enable-zstd enable-zstd-dynamic && perl configdata.pm --dump
+    - name: make
+      run: make -s -j4
+    - name: make test
+      run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
+
+  enable_brotli_and_zstd_dynamic:
+    runs-on: ubuntu-latest
+    steps:
+    - name: install brotli and zstd
+      run: |
+        sudo apt-get update
+        sudo apt-get -yq --no-install-suggests --no-install-recommends --force-yes install brotli libbrotli1 libbrotli-dev
+        sudo apt-get -yq --no-install-suggests --no-install-recommends --force-yes install zstd libzstd1 libzstd-dev
+    - name: checkout openssl
+      uses: actions/checkout@v2
+    - name: config
+      run: ./config enable-comp enable-brotli enable-brotli-dynamic enable-zstd enable-zstd-dynamic && perl configdata.pm --dump
+    - name: make
+      run: make -s -j4
+    - name: make test
+      run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
+
+  enable_brotli_and_asan_ubsan:
+    runs-on: ubuntu-latest
+    steps:
+    - name: install brotli
+      run: |
+        sudo apt-get update
+        sudo apt-get -yq --no-install-suggests --no-install-recommends --force-yes install brotli libbrotli1 libbrotli-dev
+    - name: checkout openssl
+      uses: actions/checkout@v2
+    - name: config
+      run: ./config --banner=Configured --debug enable-asan enable-ubsan enable-comp enable-brotli -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -DPEDANTIC && perl configdata.pm --dump
+    - name: make
+      run: make -s -j4
+    - name: make test
+      run: make test HARNESS_JOBS=${HARNESS_JOBS:-4} OPENSSL_TEST_RAND_ORDER=0
+
+  enable_zstd_and_asan_ubsan:
+    runs-on: ubuntu-latest
+    steps:
+    - name: install zstd
+      run: |
+        sudo apt-get update
+        sudo apt-get -yq --no-install-suggests --no-install-recommends --force-yes install zstd libzstd1 libzstd-dev
+    - name: checkout openssl
+      uses: actions/checkout@v2
+    - name: config
+      run: ./config --banner=Configured --debug enable-asan enable-ubsan enable-comp enable-zstd -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -DPEDANTIC && perl configdata.pm --dump
+    - name: make
+      run: make -s -j4
+    - name: make test
+      run: make test HARNESS_JOBS=${HARNESS_JOBS:-4} OPENSSL_TEST_RAND_ORDER=0
+
   no-legacy:
     runs-on: ubuntu-latest
     steps:
diff --git a/.github/workflows/windows_comp.yml b/.github/workflows/windows_comp.yml
new file mode 100644 (file)
index 0000000..64e7f15
--- /dev/null
@@ -0,0 +1,71 @@
+# Copyright 2022 The OpenSSL Project Authors. All Rights Reserved.
+#
+# Licensed under the Apache License 2.0 (the "License").  You may not use
+# this file except in compliance with the License.  You can obtain a copy
+# in the file LICENSE in the source distribution or at
+# https://www.openssl.org/source/license.html
+
+name: Windows Compression GitHub CI
+
+on:
+  pull_request:
+    paths:
+      - 'crypto/comp/*.c'
+  push:
+    paths:
+      - '**.c'
+
+permissions:
+  contents: read
+
+jobs:
+  zstd:
+    runs-on: windows-latest
+    steps:
+    - uses: actions/checkout@v2
+    - uses: ilammy/msvc-dev-cmd@v1
+    - uses: ilammy/setup-nasm@v1
+    - name: prepare the build directory
+      run: mkdir _build
+    - name: Get zstd
+      working-directory: _build
+      run: |
+        vcpkg install zstd:x64-windows
+    - name: config
+      working-directory: _build
+      run: |
+        perl ..\Configure enable-comp enable-zstd --with-zstd-include=C:\vcpkg\packages\zstd_x64-windows\include --with-zstd-lib=C:\vcpkg\packages\zstd_x64-windows\lib\zstd.lib no-makedepend VC-WIN64A
+        perl configdata.pm --dump
+    - name: build
+      working-directory: _build
+      run: nmake
+    - name: test
+      working-directory: _build
+      run: |
+        $env:Path+=";C:\vcpkg\packages\zstd_x64-windows\bin"
+        nmake test VERBOSE_FAILURE=yes TESTS="-test_fuzz* -test_fipsload" HARNESS_JOBS=4
+  brotli:
+    runs-on: windows-latest
+    steps:
+    - uses: actions/checkout@v2
+    - uses: ilammy/msvc-dev-cmd@v1
+    - uses: ilammy/setup-nasm@v1
+    - name: prepare the build directory
+      run: mkdir _build
+    - name: Get brotli
+      working-directory: _build
+      run: |
+        vcpkg install brotli:x64-windows
+    - name: config
+      working-directory: _build
+      run: |
+        perl ..\Configure enable-comp enable-brotli --with-brotli-include=C:\vcpkg\packages\brotli_x64-windows\include --with-brotli-lib=C:\vcpkg\packages\brotli_x64-windows\lib no-makedepend VC-WIN64A
+        perl configdata.pm --dump
+    - name: build
+      working-directory: _build
+      run: nmake
+    - name: test
+      working-directory: _build
+      run: |
+        $env:Path+=";C:\vcpkg\packages\brotli_x64-windows\bin"
+        nmake test VERBOSE_FAILURE=yes TESTS="-test_fuzz* -test_fipsload" HARNESS_JOBS=4