fix(inflater): handle gzip trailer and window reset correctly #258
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: [ main, develop, initialize, 'feat/**', 'fix/**', 'chore/**' ] | |
| pull_request: | |
| branches: [ main, develop ] | |
| workflow_dispatch: | |
| jobs: | |
| changes: | |
| runs-on: ubuntu-latest | |
| outputs: | |
| code: ${{ steps.filter.outputs.code }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dorny/paths-filter@v3 | |
| id: filter | |
| with: | |
| filters: | | |
| code: | |
| - 'include/**' | |
| - 'src/**' | |
| - 'tests/**' | |
| - 'python/**' | |
| - 'cmake/**' | |
| - 'CMakeLists.txt' | |
| - 'CMakePresets.json' | |
| - 'pyproject.toml' | |
| - 'Makefile' | |
| - '.github/workflows/ci.yml' | |
| test: | |
| needs: changes | |
| if: needs.changes.outputs.code == 'true' | |
| env: | |
| CMAKE_POLICY_VERSION_MINIMUM: 3.5 | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-22.04, ubuntu-24.04, ubuntu-latest, macos-latest] | |
| python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install dependencies (Ubuntu) | |
| if: runner.os == 'Linux' | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y build-essential cmake lcov zlib1g-dev libsqlite3-dev pkg-config ninja-build | |
| - name: Install dependencies (macOS) | |
| if: runner.os == 'macOS' | |
| run: | | |
| brew update | |
| for f in cmake lcov zlib sqlite pkg-config ninja; do | |
| if brew list --versions "$f" >/dev/null; then | |
| echo "$f already installed" | |
| else | |
| brew install "$f" | |
| fi | |
| done | |
| - name: Run coverage | |
| if: (matrix.os == 'ubuntu-22.04' || matrix.os == 'macos-latest') && matrix.python-version == '3.12' | |
| run: | | |
| make coverage | |
| - name: Run test (Unix) | |
| if: "!((matrix.os == 'ubuntu-22.04' || matrix.os == 'macos-latest') && matrix.python-version == '3.12')" | |
| run: | | |
| make test | |
| - name: Run Python tests (with venv) | |
| run: | | |
| make test-py | |
| - name: Run Python tests (without venv) | |
| run: | | |
| pip install --upgrade pip setuptools wheel | |
| pip install -e ".[dev]" | |
| pytest tests/python -v | |
| - name: Type check (ty) | |
| if: matrix.python-version == '3.12' && runner.os == 'Linux' | |
| run: | | |
| pip install ty | |
| ty check --python "$(which python)" python/ | |
| - name: Upload coverage reports to Coveralls | |
| if: (matrix.os == 'ubuntu-22.04' || matrix.os == 'macos-latest') && matrix.python-version == '3.12' | |
| uses: coverallsapp/github-action@v2 | |
| continue-on-error: true | |
| with: | |
| file: coverage/coverage_filtered.info | |
| format: lcov | |
| flag-name: ${{ matrix.os }} | |
| parallel: true | |
| env: | |
| COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }} | |
| coverage-finish: | |
| needs: test | |
| if: always() | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Coveralls finished | |
| uses: coverallsapp/github-action@v2 | |
| continue-on-error: true | |
| with: | |
| parallel-finished: true | |
| env: | |
| COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }} |