--- /dev/null
+
+name: Spec Compliance
+
+on:
+ schedule:
+ - cron: "0 0 * * 3"
+
+jobs:
+ h2spec:
+ name: h2spec
+ runs-on: ${{ matrix.os }}
+ strategy:
+ matrix:
+ include:
+ - TARGET: linux-glibc
+ CC: gcc
+ os: ubuntu-latest
+ env:
+ H2SPEC_VERSION: '2.6.0'
+ steps:
+ - uses: actions/checkout@v1
+ - name: Install h2spec
+ run: |
+ curl -fsSL https://github.com/summerwind/h2spec/releases/download/v${H2SPEC_VERSION}/h2spec_linux_amd64.tar.gz -o h2spec.tar.gz
+ tar xvf h2spec.tar.gz
+ sudo install -m755 h2spec /usr/local/bin/h2spec
+ - name: Compile HAProxy with ${{ matrix.CC }}
+ run: |
+ make -j$(nproc) all \
+ ERR=1 \
+ TARGET=${{ matrix.TARGET }} \
+ CC=${{ matrix.CC }} \
+ USE_OPENSSL=1
+ sudo make install
+ - name: Show HAProxy version
+ id: show-version
+ run: |
+ echo "::group::Show dynamic libraries."
+ if command -v ldd > /dev/null; then
+ # Linux
+ ldd $(which haproxy)
+ else
+ # macOS
+ otool -L $(which haproxy)
+ fi
+ echo "::endgroup::"
+ haproxy -vv
+ echo "::set-output name=version::$(haproxy -v |awk 'NR==1{print $3}')"
+ - name: Launch HAProxy ${{ steps.show-version.outputs.version }}
+ run: haproxy -f .github/h2spec.config -D
+ - name: Run h2spec
+ run: h2spec -Svtk -h 127.0.0.1 -p 8443
+++ /dev/null
-
-name: compliance
-
-on:
- schedule:
- - cron: "0 0 * * 3"
-
-jobs:
- h2spec:
-
- runs-on: ubuntu-latest
-
- steps:
- - uses: actions/checkout@v1
- - name: build haproxy
- run: |
- make -j3 CC=gcc ERR=1 TARGET=linux-glibc USE_OPENSSL=1
- - name: start haproxy
- run: |
- ./haproxy -f .github/h2spec.config -D
- - name: download h2spec
- run: |
- wget https://github.com/summerwind/h2spec/releases/download/v2.6.0/h2spec_linux_amd64.tar.gz
- tar xvf h2spec_linux_amd64.tar.gz
- - name: run h2spec
- run: |
- ./h2spec -Svtk -h 127.0.0.1 -p 8443