blob: 509eaf84110089dcc6af3f4cfe555b70bb00468a [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
Tim Duesterhuscdaa38e2020-11-13 20:15:53 +010021 steps:
Tim Duesterhus5f4ddb52022-04-09 22:08:41 +020022 - uses: actions/checkout@v3
Tim Duesterhuscdaa38e2020-11-13 20:15:53 +010023 - name: Install h2spec
Ilya Shipitsin0a802112022-05-05 15:15:12 +050024 id: install-h2spec
Tim Duesterhuscdaa38e2020-11-13 20:15:53 +010025 run: |
Ilya Shipitsin0a802112022-05-05 15:15:12 +050026 H2SPEC_VERSION=`curl --silent "https://api.github.com/repos/summerwind/h2spec/releases/latest" | jq -r -j '.tag_name'`
27 curl -fsSL https://github.com/summerwind/h2spec/releases/download/${H2SPEC_VERSION}/h2spec_linux_amd64.tar.gz -o h2spec.tar.gz
Tim Duesterhuscdaa38e2020-11-13 20:15:53 +010028 tar xvf h2spec.tar.gz
29 sudo install -m755 h2spec /usr/local/bin/h2spec
Tim Duesterhusb87ecbb2022-10-14 19:46:07 +020030 echo "version=${H2SPEC_VERSION}" >> $GITHUB_OUTPUT
Tim Duesterhuscdaa38e2020-11-13 20:15:53 +010031 - name: Compile HAProxy with ${{ matrix.CC }}
32 run: |
33 make -j$(nproc) all \
34 ERR=1 \
35 TARGET=${{ matrix.TARGET }} \
36 CC=${{ matrix.CC }} \
Willy Tarreaua0a69112022-02-23 17:58:46 +010037 DEBUG="-DDEBUG_STRICT -DDEBUG_MEMORY_POOLS -DDEBUG_POOL_INTEGRITY" \
Tim Duesterhuscdaa38e2020-11-13 20:15:53 +010038 USE_OPENSSL=1
39 sudo make install
40 - name: Show HAProxy version
41 id: show-version
42 run: |
43 echo "::group::Show dynamic libraries."
44 if command -v ldd > /dev/null; then
45 # Linux
46 ldd $(which haproxy)
47 else
48 # macOS
49 otool -L $(which haproxy)
50 fi
51 echo "::endgroup::"
52 haproxy -vv
Tim Duesterhusb87ecbb2022-10-14 19:46:07 +020053 echo "version=$(haproxy -v |awk 'NR==1{print $3}')" >> $GITHUB_OUTPUT
Tim Duesterhuscdaa38e2020-11-13 20:15:53 +010054 - name: Launch HAProxy ${{ steps.show-version.outputs.version }}
55 run: haproxy -f .github/h2spec.config -D
Ilya Shipitsin0a802112022-05-05 15:15:12 +050056 - name: Run h2spec ${{ steps.install-h2spec.outputs.version }}
Tim Duesterhuscdaa38e2020-11-13 20:15:53 +010057 run: h2spec -Svtk -h 127.0.0.1 -p 8443