Browse Source

.github/workflows/linux.yml: add a quiche CI job

Move over from zuul

Closes #10241
Daniel Stenberg 1 year ago
parent
commit
0978b2ef25
2 changed files with 28 additions and 21 deletions
  1. 28 2
      .github/workflows/linux.yml
  2. 0 19
      zuul.d/jobs.yaml

+ 28 - 2
.github/workflows/linux.yml

@@ -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'
 

+ 0 - 19
zuul.d/jobs.yaml

@@ -69,24 +69,6 @@
           --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
@@ -218,7 +200,6 @@
       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