diff --git a/.github/workflows/performance.yml b/.github/workflows/performance.yml new file mode 100644 index 0000000..073854c --- /dev/null +++ b/.github/workflows/performance.yml @@ -0,0 +1,48 @@ +name: performance + +on: + schedule: + - cron: '0 0 * * *' + push: + branches: + - master + +jobs: + tests: + runs-on: ubuntu-latest + strategy: + matrix: + openssl: [openssl-3.2] + nginx: [release-1.25.3] + steps: + - name: Clone + run: | + git clone -b ${{ matrix.openssl }} --depth=1 https://github.com/openssl/openssl + git clone -b ${{ matrix.nginx }} --depth=1 https://github.com/nginx/nginx + git clone -b master https://github.com/${GITHUB_REPOSITORY} + - name: Baseline Build + run: | + cd nginx + ./auto/configure --with-openssl=$(pwd)/../openssl --add-module=$(pwd)/../nginx-ssl-fingerprint --with-http_ssl_module --with-stream_ssl_module --with-stream --with-http_v2_module + make + - name: Baseline Performance + run: | + pkill nginx + nohup nginx/objs/nginx -p . -c nginx-ssl-fingerprint/nginx.conf nginx.log & + sleep 2 + curl -kv https://127.0.0.1:4433 + - name: Patch + run: | + patch -p1 -d openssl < nginx-ssl-fingerprint/patches/openssl.${{ matrix.openssl }}.patch + patch -p1 -d nginx < nginx-ssl-fingerprint/patches/nginx-$(echo ${{ matrix.nginx }} | cut -b9-12).patch + - name: Build + run: | + cd nginx + ./auto/configure --with-openssl=$(pwd)/../openssl --add-module=$(pwd)/../nginx-ssl-fingerprint --with-http_ssl_module --with-stream_ssl_module --with-stream --with-http_v2_module + make + - name: Performance + run: | + pkill nginx + nohup nginx/objs/nginx -p . -c nginx-ssl-fingerprint/nginx.conf nginx.log & + sleep 2 + curl -kv https://127.0.0.1:4433