GHA/linux: add minimal Fil-C build with tests
No binary (build failed)
—
(log yok)
| @@ -55,6 +55,8 @@ env: | |
| RUSTLS_VERSION: 0.15.0 | |
| # handled in renovate.json | |
| OPENLDAP_VERSION: 2.6.10 | |
| + | # renovate: datasource=github-tags depName=pizlonator/fil-c versioning=semver-partial registryUrl=https://github.com |
| + | FIL_C_VERSION: 0.674 |
| jobs: | |
| linux: | |
| @@ -213,6 +215,15 @@ jobs: | |
| - name: '!ssl !http !smtp !imap' | |
| configure: --without-ssl --enable-debug --disable-http --disable-smtp --disable-imap --disable-unity | |
| + | - name: 'Fil-C' |
| + | install_steps: filc |
| + | CC: /home/runner/filc/build/bin/filcc |
| + | generate: >- |
| + | -DBUILD_STATIC_LIBS=ON -DBUILD_SHARED_LIBS=OFF -DCMAKE_UNITY_BUILD=OFF |
| + | -DCURL_ENABLE_SSL=OFF -DCURL_USE_LIBPSL=OFF |
| + | -DCURL_ZLIB=OFF -DCURL_BROTLI=OFF -DCURL_ZSTD=OFF |
| + | -DUSE_NGHTTP2=OFF -DCURL_DISABLE_LDAP=ON -DUSE_LIBIDN2=OFF -DCURL_USE_LIBSSH2=OFF |
| + | |
| - name: 'clang-tidy' | |
| install_packages: clang-tidy libssl-dev libidn2-dev libssh2-1-dev libnghttp2-dev libldap-dev libkrb5-dev librtmp-dev libgnutls28-dev | |
| install_steps: skipall mbedtls rustls wolfssl-opensslextra | |
| @@ -351,7 +362,7 @@ jobs: | |
| HOMEBREW_NO_AUTO_UPDATE=1 /home/linuxbrew/.linuxbrew/bin/brew install ${INSTALL_PACKAGES_BREW} | |
| fi | |
| - | - name: 'install prereqs' |
| + | - name: 'install prereqs (i686)' |
| if: ${{ contains(matrix.build.name, 'i686') }} | |
| run: | | |
| sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list | |
| @@ -363,7 +374,7 @@ jobs: | |
| libpsl-dev:i386 libbrotli-dev:i386 libzstd-dev:i386 \ | |
| ${MATRIX_INSTALL_PACKAGES} | |
| - | - name: 'install dependencies' |
| + | - name: 'install prereqs (alpine)' |
| if: ${{ startsWith(matrix.build.container, 'alpine') }} | |
| run: | | |
| apk add --no-cache build-base autoconf automake libtool perl openssl-dev \ | |
| @@ -372,6 +383,16 @@ jobs: | |
| py3-impacket py3-asn1 py3-six py3-pycryptodomex \ | |
| perl-time-hires openssh stunnel sudo git openssl | |
| + | - name: 'install Fil-C' |
| + | if: ${{ contains(matrix.build.install_steps, 'filc') }} |
| + | run: | |
| + | cd /home/runner |
| + | curl --disable --fail --silent --show-error --connect-timeout 15 --max-time 120 --retry 6 --retry-connrefused \ |
| + | --location "https://github.com/pizlonator/fil-c/releases/download/v${FIL_C_VERSION}/filc-${FIL_C_VERSION}-linux-x86_64.tar.xz" | tar -xJ |
| + | mv "filc-${FIL_C_VERSION}-linux-x86_64" filc |
| + | cd filc |
| + | ./setup.sh |
| + | |
| - name: 'cache libressl' | |
| if: ${{ contains(matrix.build.install_steps, 'libressl') }} | |
| uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0 | |
| @@ -652,7 +673,7 @@ jobs: | |
| fi | |
| - name: 'single-use function check' | |
| - | if: ${{ contains(matrix.build.configure, '--disable-unity') || contains(matrix.build.generate, '-DCMAKE_UNITY_BUILD=OFF') }} |
| + | if: ${{ (contains(matrix.build.configure, '--disable-unity') || contains(matrix.build.generate, '-DCMAKE_UNITY_BUILD=OFF')) && !contains(matrix.build.install_steps, 'filc') }} |
| run: | | |
| git config --global --add safe.directory "*" | |
| if [ "${MATRIX_BUILD}" = 'cmake' ]; then | |