blob: 3ce71780599ce75a8437a9c850f4fdf39788aa66 [file] [log] [blame]
Tim Duesterhuscdaa38e2020-11-13 20:15:53 +01001
2name: Spec Compliance
3
4on:
5 schedule:
Tim Duesterhus662896e2021-10-16 18:10:27 +02006 - cron: "0 0 * * 3"
Tim Duesterhuscdaa38e2020-11-13 20:15:53 +01007
Tim Duesterhus89c9d0a2021-10-16 18:10:26 +02008permissions:
9 contents: read
10
Tim Duesterhuscdaa38e2020-11-13 20:15:53 +010011jobs:
12 h2spec:
13 name: h2spec
14 runs-on: ${{ matrix.os }}
15 strategy:
16 matrix:
17 include:
18 - TARGET: linux-glibc
19 CC: gcc
20 os: ubuntu-latest
21 env:
22 H2SPEC_VERSION: '2.6.0'
23 steps:
24 - uses: actions/checkout@v1
25 - name: Install h2spec
26 run: |
27 curl -fsSL https://github.com/summerwind/h2spec/releases/download/v${H2SPEC_VERSION}/h2spec_linux_amd64.tar.gz -o h2spec.tar.gz
28 tar xvf h2spec.tar.gz
29 sudo install -m755 h2spec /usr/local/bin/h2spec
30 - name: Compile HAProxy with ${{ matrix.CC }}
31 run: |
32 make -j$(nproc) all \
33 ERR=1 \
34 TARGET=${{ matrix.TARGET }} \
35 CC=${{ matrix.CC }} \
Tim Duesterhus9fee7e02020-11-21 18:08:00 +010036 DEBUG=-DDEBUG_STRICT=1 \
Tim Duesterhuscdaa38e2020-11-13 20:15:53 +010037 USE_OPENSSL=1
38 sudo make install
39 - name: Show HAProxy version
40 id: show-version
41 run: |
42 echo "::group::Show dynamic libraries."
43 if command -v ldd > /dev/null; then
44 # Linux
45 ldd $(which haproxy)
46 else
47 # macOS
48 otool -L $(which haproxy)
49 fi
50 echo "::endgroup::"
51 haproxy -vv
52 echo "::set-output name=version::$(haproxy -v |awk 'NR==1{print $3}')"
53 - name: Launch HAProxy ${{ steps.show-version.outputs.version }}
54 run: haproxy -f .github/h2spec.config -D
55 - name: Run h2spec
56 run: h2spec -Svtk -h 127.0.0.1 -p 8443