Tim Duesterhus | cdaa38e | 2020-11-13 20:15:53 +0100 | [diff] [blame] | 1 | |
| 2 | name: Spec Compliance |
| 3 | |
| 4 | on: |
| 5 | schedule: |
Tim Duesterhus | 662896e | 2021-10-16 18:10:27 +0200 | [diff] [blame] | 6 | - cron: "0 0 * * 3" |
Tim Duesterhus | cdaa38e | 2020-11-13 20:15:53 +0100 | [diff] [blame] | 7 | |
Tim Duesterhus | 89c9d0a | 2021-10-16 18:10:26 +0200 | [diff] [blame] | 8 | permissions: |
| 9 | contents: read |
| 10 | |
Tim Duesterhus | cdaa38e | 2020-11-13 20:15:53 +0100 | [diff] [blame] | 11 | jobs: |
| 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 Duesterhus | cdaa38e | 2020-11-13 20:15:53 +0100 | [diff] [blame] | 21 | steps: |
Tim Duesterhus | 5f4ddb5 | 2022-04-09 22:08:41 +0200 | [diff] [blame] | 22 | - uses: actions/checkout@v3 |
Tim Duesterhus | cdaa38e | 2020-11-13 20:15:53 +0100 | [diff] [blame] | 23 | - name: Install h2spec |
Ilya Shipitsin | 0a80211 | 2022-05-05 15:15:12 +0500 | [diff] [blame] | 24 | id: install-h2spec |
Tim Duesterhus | cdaa38e | 2020-11-13 20:15:53 +0100 | [diff] [blame] | 25 | run: | |
Ilya Shipitsin | 0a80211 | 2022-05-05 15:15:12 +0500 | [diff] [blame] | 26 | 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 Duesterhus | cdaa38e | 2020-11-13 20:15:53 +0100 | [diff] [blame] | 28 | tar xvf h2spec.tar.gz |
| 29 | sudo install -m755 h2spec /usr/local/bin/h2spec |
Tim Duesterhus | b87ecbb | 2022-10-14 19:46:07 +0200 | [diff] [blame] | 30 | echo "version=${H2SPEC_VERSION}" >> $GITHUB_OUTPUT |
Tim Duesterhus | cdaa38e | 2020-11-13 20:15:53 +0100 | [diff] [blame] | 31 | - 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 Tarreau | a0a6911 | 2022-02-23 17:58:46 +0100 | [diff] [blame] | 37 | DEBUG="-DDEBUG_STRICT -DDEBUG_MEMORY_POOLS -DDEBUG_POOL_INTEGRITY" \ |
Tim Duesterhus | cdaa38e | 2020-11-13 20:15:53 +0100 | [diff] [blame] | 38 | 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 Duesterhus | b87ecbb | 2022-10-14 19:46:07 +0200 | [diff] [blame] | 53 | echo "version=$(haproxy -v |awk 'NR==1{print $3}')" >> $GITHUB_OUTPUT |
Tim Duesterhus | cdaa38e | 2020-11-13 20:15:53 +0100 | [diff] [blame] | 54 | - name: Launch HAProxy ${{ steps.show-version.outputs.version }} |
| 55 | run: haproxy -f .github/h2spec.config -D |
Ilya Shipitsin | 0a80211 | 2022-05-05 15:15:12 +0500 | [diff] [blame] | 56 | - name: Run h2spec ${{ steps.install-h2spec.outputs.version }} |
Tim Duesterhus | cdaa38e | 2020-11-13 20:15:53 +0100 | [diff] [blame] | 57 | run: h2spec -Svtk -h 127.0.0.1 -p 8443 |