]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
.github/workflows/linux.yml: add a quiche CI job
authorDaniel Stenberg <daniel@haxx.se>
Thu, 5 Jan 2023 17:47:38 +0000 (18:47 +0100)
committerDaniel Stenberg <daniel@haxx.se>
Mon, 9 Jan 2023 10:09:33 +0000 (11:09 +0100)
Move over from zuul

Closes #10241

.github/workflows/linux.yml
zuul.d/jobs.yaml

index 4505c6692e7761c26c7248035036667c187a6960..b3a9daca603414f6491d1147b103d1176bc94f7a 100644 (file)
@@ -32,6 +32,11 @@ jobs:
       fail-fast: false
       matrix:
         build:
+        - name: quiche
+          install_packages: zlib1g-dev
+          install_steps: quiche
+          configure: LDFLAGS="-Wl,-rpath,/home/runner/work/curl/curl/quiche/target/release" --with-openssl=/home/runner/work/curl/curl/quiche/quiche/deps/boringssl/src --enable-debug --with-quiche=/home/runner/work/curl/curl/quiche/target/release
+
         - name: bearssl
           install_packages: zlib1g-dev
           install_steps: bearssl
@@ -116,6 +121,8 @@ jobs:
         sudo python3 -m pip install impacket
       name: 'install prereqs and impacket'
 
+    - uses: actions/checkout@v3
+
     - if: ${{ contains(matrix.build.install_steps, 'gcc-11') }}
       run: |
         sudo add-apt-repository ppa:ubuntu-toolchain-r/ppa
@@ -146,6 +153,27 @@ jobs:
         make install
       name: 'install libressl'
 
+    - if: ${{ contains(matrix.build.install_steps, 'quiche') }}
+      run: |
+        git clone --depth=1 --recursive https://github.com/cloudflare/quiche.git
+        cd quiche
+        #### Work-around https://github.com/curl/curl/issues/7927 #######
+        #### See https://github.com/alexcrichton/cmake-rs/issues/131 ####
+        sed -i -e 's/cmake = "0.1"/cmake = "=0.1.45"/' quiche/Cargo.toml
+
+        # /home/runner/work/curl/curl/boringssl
+
+        cargo build -v --package quiche --release --features ffi,pkg-config-meta,qlog --verbose
+        mkdir -v quiche/deps/boringssl/src/lib
+        ln -vnf $(find target/release -name libcrypto.a -o -name libssl.a) quiche/deps/boringssl/src/lib/
+
+        # include dir
+        # /home/runner/work/curl/curl/quiche/quiche/deps/boringssl/src/include
+        # lib dir
+        # /home/runner/work/curl/curl/quiche/quiche/deps/boringssl/src/lib
+
+      name: 'build quiche and boringssl'
+
     - if: ${{ contains(matrix.build.install_steps, 'mbedtls') }}
       run: |
         git clone --depth=1 -b v3.3.0 https://github.com/ARMmbed/mbedtls
@@ -212,8 +240,6 @@ jobs:
         printenv >> $GITHUB_ENV
       name: 'install Intel compilers'
 
-    - uses: actions/checkout@v3
-
     - run: autoreconf -fi
       name: 'autoreconf'
 
index 0e0e63f509fbbffdc82915c12e4990f9a321558b..25d2b5e3b620fea34ed5ca27d15e8e479e165719 100644 (file)
           --with-openssl={{ ansible_user_dir }}/boringssl
         LD_LIBRARY_PATH: "{{ ansible_user_dir }}/boringssl/lib:/usr/local/lib"
 
-- job:
-    name: curl-novalgrind-boringssl-with-openssl-quiche
-    parent: curl-base
-    vars:
-      curl_apt_packages:
-        - libpsl-dev
-        - libbrotli-dev
-        - libzstd-dev
-      curl_env:
-        CC: gcc-8
-        CXX: g++-8
-        T: novalgrind
-        QUICHE: "yes"
-        C: >-
-          --with-openssl={{ ansible_user_dir }}/quiche/quiche/deps/boringssl/src
-          --with-quiche={{ ansible_user_dir }}/quiche/target/release
-        LD_LIBRARY_PATH: "{{ ansible_user_dir }}/quiche/target/release:/usr/local/lib"
-
 - job:
     name: curl-novalgrind-ngtcp2-with-openssl
     parent: curl-base
       jobs:
       - curl-normal-with-openssl-gssapi-libssh2-checksrc
       - curl-novalgrind-boringssl-with-openssl
-      - curl-novalgrind-boringssl-with-openssl-quiche
       - curl-novalgrind-ngtcp2-with-openssl
       - curl-debug-clang-disable-alt-svc-with-openssl
       - curl-debug-clang-with-gnutls