From 7087d5d0bda8a1e8e2c0f86131a0bb5cff753554 Mon Sep 17 00:00:00 2001 From: Sam Bull Date: Tue, 3 Oct 2023 15:57:30 +0100 Subject: [PATCH] Add aiohttp regression tests to CI (#250) --- .github/workflows/aiohttp.yml | 61 +++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 .github/workflows/aiohttp.yml diff --git a/.github/workflows/aiohttp.yml b/.github/workflows/aiohttp.yml new file mode 100644 index 00000000..8ae8eb37 --- /dev/null +++ b/.github/workflows/aiohttp.yml @@ -0,0 +1,61 @@ +name: Aiohttp +# If you don't understand the reason for a test failure, ping @Dreamsorcerer or open an issue in aio-libs/aiohttp. + +on: + push: + branches: + - 'main' + pull_request: + branches: + - 'main' + +jobs: + test: + permissions: + contents: read # to fetch code (actions/checkout) + + name: Aiohttp regression tests + runs-on: ubuntu-latest + steps: + - name: Checkout aiohttp + uses: actions/checkout@v4 + with: + repository: aio-libs/aiohttp + - name: Checkout llhttp + uses: actions/checkout@v4 + with: + path: vendor/llhttp + - name: Restore node_modules cache + uses: actions/cache@v3 + with: + path: vendor/llhttp/.npm + key: ubuntu-latest-node-${{ hashFiles('vendor/llhttp/**/package-lock.json') }} + restore-keys: ubuntu-latest-node- + - name: Install llhttp dependencies + run: npm install --ignore-scripts + working-directory: vendor/llhttp + - name: Build llhttp + run: make + working-directory: vendor/llhttp + - name: Setup Python + uses: actions/setup-python@v4 + with: + python-version: 3.x + cache: 'pip' + cache-dependency-path: 'requirements/*.txt' + - name: Provision the dev env + run: >- + PATH="${HOME}/.local/bin:${PATH}" + make .develop + - name: Run tests + env: + COLOR: yes + run: >- + PATH="${HOME}/.local/bin:${PATH}" + pytest tests/test_http_parser.py tests/test_web_functional.py + - name: Run dev_mode tests + env: + COLOR: yes + run: >- + PATH="${HOME}/.local/bin:${PATH}" + python -X dev -m pytest -m dev_mode tests/test_http_parser.py tests/test_web_functional.py