ping :)

пт, 4 апр. 2025 г. в 23:24, Ilya Shipitsin <chipits...@gmail.com>:

> QuicTLS started own fork not dependant on OpenSSL, lets add
> that to weekly builds
>
> ML: https://www.mail-archive.com/haproxy@formilux.org/msg45574.html
> GH: https://github.com/quictls/quictls/issues/244
> ---
>  .github/workflows/quictls.yml | 82 +++++++++++++++++++++++++++++++++++
>  1 file changed, 82 insertions(+)
>  create mode 100644 .github/workflows/quictls.yml
>
> diff --git a/.github/workflows/quictls.yml b/.github/workflows/quictls.yml
> new file mode 100644
> index 000000000..9926b0a9e
> --- /dev/null
> +++ b/.github/workflows/quictls.yml
> @@ -0,0 +1,82 @@
> +#
> +# weekly run against modern QuicTLS branch, i.e.
> https://github.com/quictls/quictls
> +#
> +
> +name: QuicTLS
> +
> +on:
> +  schedule:
> +    - cron: "0 0 * * 4"
> +  workflow_dispatch:
> +
> +permissions:
> +  contents: read
> +
> +jobs:
> +  test:
> +    runs-on: ubuntu-latest
> +    steps:
> +      - uses: actions/checkout@v4
> +      - name: Install VTest
> +        run: |
> +          scripts/build-vtest.sh
> +      - name: Install apt dependencies
> +        run: |
> +          sudo apt-get update -o Acquire::Languages=none -o
> Acquire::Translation=none
> +          sudo apt-get --no-install-recommends -y install socat gdb
> +      - name: Install QuicTLS
> +        run: env QUICTLS=yes QUICTLS_URL=
> https://github.com/quictls/quictls scripts/build-ssl.sh
> +      - name: Compile HAProxy
> +        run: |
> +          make -j$(nproc) ERR=1 CC=gcc TARGET=linux-glibc \
> +            USE_QUIC=1 USE_OPENSSL=1 \
> +            SSL_LIB=${HOME}/opt/lib SSL_INC=${HOME}/opt/include \
> +            DEBUG="-DDEBUG_POOL_INTEGRITY -DDEBUG_UNIT" \
> +            ADDLIB="-Wl,-rpath,/usr/local/lib/ -Wl,-rpath,$HOME/opt/lib/"
> \
> +            ARCH_FLAGS="-ggdb3 -fsanitize=address"
> +          sudo make install
> +      - name: Show HAProxy version
> +        id: show-version
> +        run: |
> +          ldd $(which haproxy)
> +          haproxy -vv
> +          echo "version=$(haproxy -v |awk 'NR==1{print $3}')" >>
> $GITHUB_OUTPUT
> +      - name: Install problem matcher for VTest
> +        run: echo "::add-matcher::.github/vtest.json"
> +      - name: Run VTest for HAProxy
> +        id: vtest
> +        run: |
> +          # This is required for macOS which does not actually allow to
> increase
> +          # the '-n' soft limit to the hard limit, thus failing to run.
> +          ulimit -n 65536
> +          # allow to catch coredumps
> +          ulimit -c unlimited
> +          make reg-tests VTEST_PROGRAM=../vtest/vtest
> REGTESTS_TYPES=default,bug,devel
> +      - name: Show VTest results
> +        if: ${{ failure() && steps.vtest.outcome == 'failure' }}
> +        run: |
> +          for folder in ${TMPDIR:-/tmp}/haregtests-*/vtc.*; do
> +            printf "::group::"
> +            cat $folder/INFO
> +            cat $folder/LOG
> +            echo "::endgroup::"
> +          done
> +          exit 1
> +      - name: Run Unit tests
> +        id: unittests
> +        run: |
> +          make unit-tests
> +      - name: Show coredumps
> +        if: ${{ failure() && steps.vtest.outcome == 'failure' }}
> +        run: |
> +          failed=false
> +          shopt -s nullglob
> +          for file in /tmp/core.*; do
> +            failed=true
> +            printf "::group::"
> +            gdb -ex 'thread apply all bt full' ./haproxy $file
> +            echo "::endgroup::"
> +          done
> +          if [ "$failed" = true ]; then
> +            exit 1;
> +          fi
> --
> 2.49.0
>
>

Reply via email to