diff --git a/.github/workflows/compliance.yml b/.github/workflows/compliance.yml new file mode 100644 index 000000000..d778ee429 --- /dev/null +++ b/.github/workflows/compliance.yml @@ -0,0 +1,52 @@ + +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 diff --git a/.github/workflows/h2spec.yml b/.github/workflows/h2spec.yml deleted file mode 100644 index cd4d24670..000000000 --- a/.github/workflows/h2spec.yml +++ /dev/null @@ -1,27 +0,0 @@ - -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