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' permissions: contents: read 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@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: repository: aio-libs/aiohttp - name: Checkout llhttp uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: path: vendor/llhttp - name: Restore node_modules cache uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 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 ci --ignore-scripts working-directory: vendor/llhttp - name: Build llhttp run: make working-directory: vendor/llhttp - name: Setup Python uses: actions/setup-python@8d9ed9ac5c53483de85588cdf95a591a75ab9f55 # v5.5.0 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 PYTHONDEVMODE: 1 run: >- PATH="${HOME}/.local/bin:${PATH}" pytest -m dev_mode tests/test_http_parser.py tests/test_web_functional.py