- id: settings
if: >-
- ${{ steps.cache-awslc.outputs.cache-hit != 'true' ||
- steps.cache-boringssl.outputs.cache-hit != 'true' ||
- steps.cache-nettle.outputs.cache-hit != 'true' ||
- steps.cache-gnutls.outputs.cache-hit != 'true' ||
- steps.cache-libressl.outputs.cache-hit != 'true' ||
- steps.cache-openssl-http3-no-deprecated.outputs.cache-hit != 'true' ||
- steps.cache-openssl-prev-http3-no-deprecated.outputs.cache-hit != 'true' ||
- steps.cache-wolfssl.outputs.cache-hit != 'true' ||
- steps.cache-nghttp3.outputs.cache-hit != 'true' ||
- steps.cache-ngtcp2-boringssl.outputs.cache-hit != 'true' ||
- steps.cache-ngtcp2-openssl-prev.outputs.cache-hit != 'true' ||
- steps.cache-ngtcp2.outputs.cache-hit != 'true' ||
- steps.cache-nghttp2.outputs.cache-hit != 'true' }}
+ ${{ !steps.cache-awslc.outputs.cache-hit ||
+ !steps.cache-boringssl.outputs.cache-hit ||
+ !steps.cache-nettle.outputs.cache-hit ||
+ !steps.cache-gnutls.outputs.cache-hit ||
+ !steps.cache-libressl.outputs.cache-hit ||
+ !steps.cache-openssl-http3-no-deprecated.outputs.cache-hit ||
+ !steps.cache-openssl-prev-http3-no-deprecated.outputs.cache-hit ||
+ !steps.cache-wolfssl.outputs.cache-hit ||
+ !steps.cache-nghttp3.outputs.cache-hit ||
+ !steps.cache-ngtcp2-boringssl.outputs.cache-hit ||
+ !steps.cache-ngtcp2-openssl-prev.outputs.cache-hit ||
+ !steps.cache-ngtcp2.outputs.cache-hit ||
+ !steps.cache-nghttp2.outputs.cache-hit }}
run: echo 'needs-build=true' >> "$GITHUB_OUTPUT"
echo 'CXX=g++-12' >> "$GITHUB_ENV"
- name: 'build awslc'
- if: ${{ steps.cache-awslc.outputs.cache-hit != 'true' }}
+ if: ${{ !steps.cache-awslc.outputs.cache-hit }}
run: |
cd ~
curl --disable --fail --silent --show-error --connect-timeout 15 --max-time 120 --retry 6 --retry-connrefused \
cmake --install .
- name: 'build boringssl'
- if: ${{ steps.cache-boringssl.outputs.cache-hit != 'true' }}
+ if: ${{ !steps.cache-boringssl.outputs.cache-hit }}
run: |
mkdir boringssl-src
cd boringssl-src
cmake --install .
- name: 'build nettle'
- if: ${{ steps.cache-nettle.outputs.cache-hit != 'true' }}
+ if: ${{ !steps.cache-nettle.outputs.cache-hit }}
run: |
cd ~
curl --disable --fail --silent --show-error --connect-timeout 15 --max-time 120 --retry 6 --retry-connrefused \
make install
- name: 'build gnutls'
- if: ${{ steps.cache-gnutls.outputs.cache-hit != 'true' }}
+ if: ${{ !steps.cache-gnutls.outputs.cache-hit }}
run: |
cd ~
curl --disable --fail --silent --show-error --connect-timeout 15 --max-time 120 --retry 6 --retry-connrefused \
make install
- name: 'build libressl'
- if: ${{ steps.cache-libressl.outputs.cache-hit != 'true' }}
+ if: ${{ !steps.cache-libressl.outputs.cache-hit }}
run: |
cd ~
curl --disable --fail --silent --show-error --connect-timeout 15 --max-time 120 --retry 6 --retry-connrefused \
cmake --install .
- name: 'build openssl'
- if: ${{ steps.cache-openssl-http3-no-deprecated.outputs.cache-hit != 'true' }}
+ if: ${{ !steps.cache-openssl-http3-no-deprecated.outputs.cache-hit }}
run: |
cd ~
git clone --quiet --depth 1 --branch "openssl-${OPENSSL_VERSION}" https://github.com/openssl/openssl
make -j1 install_sw
- name: 'build openssl-prev'
- if: ${{ steps.cache-openssl-prev-http3-no-deprecated.outputs.cache-hit != 'true' }}
+ if: ${{ !steps.cache-openssl-prev-http3-no-deprecated.outputs.cache-hit }}
run: |
cd ~
curl --disable --fail --silent --show-error --connect-timeout 15 --max-time 120 --retry 6 --retry-connrefused \
make -j1 install_sw
- name: 'build wolfssl'
- if: ${{ steps.cache-wolfssl.outputs.cache-hit != 'true' }}
+ if: ${{ !steps.cache-wolfssl.outputs.cache-hit }}
run: |
cd ~
git clone --quiet --depth 1 --branch "v${WOLFSSL_VERSION}-stable" https://github.com/wolfSSL/wolfssl
make install
- name: 'build nghttp3'
- if: ${{ steps.cache-nghttp3.outputs.cache-hit != 'true' }}
+ if: ${{ !steps.cache-nghttp3.outputs.cache-hit }}
run: |
cd ~
git clone --quiet --depth 1 --branch "v${NGHTTP3_VERSION}" https://github.com/ngtcp2/nghttp3
make install
- name: 'build ngtcp2'
- if: ${{ steps.cache-ngtcp2.outputs.cache-hit != 'true' }}
+ if: ${{ !steps.cache-ngtcp2.outputs.cache-hit }}
# building twice to get crypto libs for ossl, libressl and awslc installed
run: |
cd ~
make install
- name: 'build ngtcp2 openssl-prev'
- if: ${{ steps.cache-ngtcp2-openssl-prev.outputs.cache-hit != 'true' }}
+ if: ${{ !steps.cache-ngtcp2-openssl-prev.outputs.cache-hit }}
run: |
cd ~
git clone --quiet --depth 1 --branch "v${NGTCP2_VERSION}" https://github.com/ngtcp2/ngtcp2 ngtcp2-openssl-prev
make install
- name: 'build ngtcp2 boringssl'
- if: ${{ steps.cache-ngtcp2-boringssl.outputs.cache-hit != 'true' }}
+ if: ${{ !steps.cache-ngtcp2-boringssl.outputs.cache-hit }}
run: |
cd ~
git clone --quiet --depth 1 --branch "v${NGTCP2_VERSION}" https://github.com/ngtcp2/ngtcp2 ngtcp2-boringssl
make install
- name: 'build nghttp2'
- if: ${{ steps.cache-nghttp2.outputs.cache-hit != 'true' }}
+ if: ${{ !steps.cache-nghttp2.outputs.cache-hit }}
run: |
cd ~
git clone --quiet --depth 1 --branch "v${NGHTTP2_VERSION}" https://github.com/nghttp2/nghttp2
key: ${{ runner.os }}-http3-build-${{ env.cache-name }}-${{ env.QUICHE_VERSION }}
- name: 'build quiche and boringssl'
- if: ${{ contains(matrix.build.name, 'quiche') && steps.cache-quiche.outputs.cache-hit != 'true' }}
+ if: ${{ contains(matrix.build.name, 'quiche') && !steps.cache-quiche.outputs.cache-hit }}
run: |
cd ~
git clone --quiet --depth 1 --branch "${QUICHE_VERSION}" --recursive https://github.com/cloudflare/quiche
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ env.LIBRESSL_VERSION }}
- name: 'build libressl (c-arm)'
- if: ${{ contains(matrix.build.install_steps, 'libressl-c-arm') && steps.cache-libressl-c-arm.outputs.cache-hit != 'true' }}
+ if: ${{ contains(matrix.build.install_steps, 'libressl-c-arm') && !steps.cache-libressl-c-arm.outputs.cache-hit }}
run: |
curl --disable --fail --silent --show-error --connect-timeout 15 --max-time 120 --retry 6 --retry-connrefused \
--location "https://github.com/libressl/portable/releases/download/v${LIBRESSL_VERSION}/libressl-${LIBRESSL_VERSION}.tar.gz" --output pkg.bin
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ env.LIBRESSL_VERSION }}-${{ env.FIL_C_VERSION }}
- name: 'build libressl (filc)'
- if: ${{ contains(matrix.build.install_steps, 'libressl-filc') && steps.cache-libressl-filc.outputs.cache-hit != 'true' }}
+ if: ${{ contains(matrix.build.install_steps, 'libressl-filc') && !steps.cache-libressl-filc.outputs.cache-hit }}
run: |
curl --disable --fail --silent --show-error --connect-timeout 15 --max-time 120 --retry 6 --retry-connrefused \
--location "https://github.com/libressl/portable/releases/download/v${LIBRESSL_VERSION}/libressl-${LIBRESSL_VERSION}.tar.gz" --output pkg.bin
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ env.NGHTTP2_VERSION }}-${{ env.FIL_C_VERSION }}
- name: 'build nghttp2 (filc)'
- if: ${{ contains(matrix.build.install_steps, 'nghttp2-filc') && steps.cache-nghttp2-filc.outputs.cache-hit != 'true' }}
+ if: ${{ contains(matrix.build.install_steps, 'nghttp2-filc') && !steps.cache-nghttp2-filc.outputs.cache-hit }}
run: |
curl --disable --fail --silent --show-error --connect-timeout 15 --max-time 120 --retry 6 --retry-connrefused \
--location "https://github.com/nghttp2/nghttp2/releases/download/v${NGHTTP2_VERSION}/nghttp2-${NGHTTP2_VERSION}.tar.xz" --output pkg.bin
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ env.WOLFSSL_VERSION }}
- name: 'build wolfssl (all-arm)' # does not support `OPENSSL_COEXIST`
- if: ${{ contains(matrix.build.install_steps, 'wolfssl-all-arm') && steps.cache-wolfssl-all-arm.outputs.cache-hit != 'true' }}
+ if: ${{ contains(matrix.build.install_steps, 'wolfssl-all-arm') && !steps.cache-wolfssl-all-arm.outputs.cache-hit }}
run: |
curl --disable --fail --silent --show-error --connect-timeout 15 --max-time 120 --retry 6 --retry-connrefused \
--location "https://github.com/wolfSSL/wolfssl/archive/v${WOLFSSL_VERSION}-stable.tar.gz" --output pkg.bin
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ env.WOLFSSL_VERSION }}
- name: 'build wolfssl (opensslextra-intel)'
- if: ${{ contains(matrix.build.install_steps, 'wolfssl-opensslextra-intel') && steps.cache-wolfssl-opensslextra-intel.outputs.cache-hit != 'true' }}
+ if: ${{ contains(matrix.build.install_steps, 'wolfssl-opensslextra-intel') && !steps.cache-wolfssl-opensslextra-intel.outputs.cache-hit }}
run: |
curl --disable --fail --silent --show-error --connect-timeout 15 --max-time 120 --retry 6 --retry-connrefused \
--location "https://github.com/wolfSSL/wolfssl/archive/v${WOLFSSL_VERSION}-stable.tar.gz" --output pkg.bin
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ env.WOLFSSL_VERSION }}
- name: 'build wolfssl (opensslextra-arm)'
- if: ${{ contains(matrix.build.install_steps, 'wolfssl-opensslextra-arm') && steps.cache-wolfssl-opensslextra-arm.outputs.cache-hit != 'true' }}
+ if: ${{ contains(matrix.build.install_steps, 'wolfssl-opensslextra-arm') && !steps.cache-wolfssl-opensslextra-arm.outputs.cache-hit }}
run: |
curl --disable --fail --silent --show-error --connect-timeout 15 --max-time 120 --retry 6 --retry-connrefused \
--location "https://github.com/wolfSSL/wolfssl/archive/v${WOLFSSL_VERSION}-stable.tar.gz" --output pkg.bin
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ env.MBEDTLS_VERSION }}
- name: 'build mbedtls (latest-intel)'
- if: ${{ contains(matrix.build.install_steps, 'mbedtls-latest-intel') && steps.cache-mbedtls-latest-intel.outputs.cache-hit != 'true' }}
+ if: ${{ contains(matrix.build.install_steps, 'mbedtls-latest-intel') && !steps.cache-mbedtls-latest-intel.outputs.cache-hit }}
run: |
curl --disable --fail --silent --show-error --connect-timeout 15 --max-time 120 --retry 6 --retry-connrefused \
--location "https://github.com/Mbed-TLS/mbedtls/releases/download/mbedtls-${MBEDTLS_VERSION}/mbedtls-${MBEDTLS_VERSION}.tar.bz2" --output pkg.bin
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ env.MBEDTLS_VERSION }}
- name: 'build mbedtls (latest-arm)'
- if: ${{ contains(matrix.build.install_steps, 'mbedtls-latest-arm') && steps.cache-mbedtls-latest-arm.outputs.cache-hit != 'true' }}
+ if: ${{ contains(matrix.build.install_steps, 'mbedtls-latest-arm') && !steps.cache-mbedtls-latest-arm.outputs.cache-hit }}
run: |
curl --disable --fail --silent --show-error --connect-timeout 15 --max-time 120 --retry 6 --retry-connrefused \
--location "https://github.com/Mbed-TLS/mbedtls/releases/download/mbedtls-${MBEDTLS_VERSION}/mbedtls-${MBEDTLS_VERSION}.tar.bz2" --output pkg.bin
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ env.MBEDTLS_PREV_VERSION }}
- name: 'build mbedtls (prev)'
- if: ${{ contains(matrix.build.install_steps, 'mbedtls-prev') && steps.cache-mbedtls-prev.outputs.cache-hit != 'true' }}
+ if: ${{ contains(matrix.build.install_steps, 'mbedtls-prev') && !steps.cache-mbedtls-prev.outputs.cache-hit }}
run: |
curl --disable --fail --silent --show-error --connect-timeout 15 --max-time 120 --retry 6 --retry-connrefused \
--location "https://github.com/Mbed-TLS/mbedtls/releases/download/mbedtls-${MBEDTLS_PREV_VERSION}/mbedtls-${MBEDTLS_PREV_VERSION}.tar.bz2" --output pkg.bin
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ env.OPENLDAP_VERSION }}
- name: 'build openldap (static)'
- if: ${{ contains(matrix.build.install_steps, 'openldap-static') && steps.cache-openldap-static.outputs.cache-hit != 'true' }}
+ if: ${{ contains(matrix.build.install_steps, 'openldap-static') && !steps.cache-openldap-static.outputs.cache-hit }}
run: |
curl --disable --fail --silent --show-error --connect-timeout 15 --max-time 120 --retry 6 --retry-connrefused \
--location "https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-${OPENLDAP_VERSION}.tgz" --output pkg.bin
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ env.OPENSSL_VERSION }}
- name: 'build openssl (thread sanitizer)'
- if: ${{ contains(matrix.build.install_steps, 'openssl-tsan') && steps.cache-openssl-tsan.outputs.cache-hit != 'true' }}
+ if: ${{ contains(matrix.build.install_steps, 'openssl-tsan') && !steps.cache-openssl-tsan.outputs.cache-hit }}
run: |
git clone --quiet --depth 1 --branch "openssl-${OPENSSL_VERSION}" https://github.com/openssl/openssl
cd openssl
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ env.AWSLC_VERSION }}
- name: 'build awslc'
- if: ${{ contains(matrix.build.install_steps, 'awslc') && steps.cache-awslc.outputs.cache-hit != 'true' }}
+ if: ${{ contains(matrix.build.install_steps, 'awslc') && !steps.cache-awslc.outputs.cache-hit }}
run: |
curl --disable --fail --silent --show-error --connect-timeout 15 --max-time 120 --retry 6 --retry-connrefused \
--location "https://github.com/awslabs/aws-lc/archive/refs/tags/v${AWSLC_VERSION}.tar.gz" --output pkg.bin
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ env.BORINGSSL_VERSION }}
- name: 'build boringssl'
- if: ${{ contains(matrix.build.install_steps, 'boringssl') && steps.cache-boringssl.outputs.cache-hit != 'true' }}
+ if: ${{ contains(matrix.build.install_steps, 'boringssl') && !steps.cache-boringssl.outputs.cache-hit }}
run: |
mkdir boringssl-src
cd boringssl-src
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ env.RUSTLS_VERSION }}
- name: 'fetch rustls deb'
- if: ${{ contains(matrix.build.install_steps, 'rustls') && steps.cache-rustls.outputs.cache-hit != 'true' }}
+ if: ${{ contains(matrix.build.install_steps, 'rustls') && !steps.cache-rustls.outputs.cache-hit }}
run: |
cd ~
curl --disable --fail --silent --show-error --connect-timeout 15 --max-time 120 --retry 6 --retry-connrefused \