Skip to content

Only open files in binary modes and use io.TextIOWrapper only at the highest level function. #655

Only open files in binary modes and use io.TextIOWrapper only at the highest level function.

Only open files in binary modes and use io.TextIOWrapper only at the highest level function. #655

Workflow file for this run

name: CI
on: [push, pull_request]
jobs:
lint:
# Run for PRs only if they come from a forked repo (avoids duplicate runs)
if: >-
github.event_name != 'pull_request' ||
github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
timeout-minutes: 10
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.10"]
toxenv: [black, flake8, mypy]
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
run: python -m pip install tox
- name: Run tox ${{ matrix.toxenv }}
run: tox -e ${{ matrix.toxenv }}
test:
if: >-
github.event_name != 'pull_request' ||
github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
timeout-minutes: 10
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "pypy-3.9"]
optional-deps: [true]
with-libs: [true]
include:
- os: macos-latest
python-version: "3.10"
optional-deps: true
- os: ubuntu-20.04
python-version: "3.10"
with-libs: false
optional-deps: false
- os: ubuntu-20.04
python-version: "3.10"
with-libs: false
optional-deps: true
- os: ubuntu-20.04
python-version: "3.10"
optional-deps: false
with-libs: false
with-zstandard: true
- os: windows-latest
python-version: "3.10"
steps:
- name: Install optional tools macOS
if: runner.os == 'macOS' && matrix.optional-deps
run: brew install pigz pbzip2 isa-l zstd
- name: Install optional tools Linux
if: runner.os == 'Linux' && matrix.optional-deps
run: sudo apt-get install pigz pbzip2 isal zstd
- name: Remove xz
if: runner.os == 'Linux' && !matrix.optional-deps
run: while which xz; do sudo rm $(which xz); done
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: python -m pip install tox
- name: Test
run: tox -e py
if: matrix.with-libs
- name: Test without python-isal and python-zlib-ng
run: tox -e no-libs
if: true && !matrix.with-libs
- name: Test with zstandard
if: matrix.with-zstandard
run: tox -e zstd
- name: Upload coverage report
uses: codecov/codecov-action@v3
deploy:
timeout-minutes: 10
runs-on: ubuntu-latest
needs: [lint, test]
if: startsWith(github.ref, 'refs/tags')
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0 # required for setuptools_scm
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.10"
- name: Make distributions
run: |
python -m pip install build
python -m build
ls -l dist/
- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
user: __token__
password: ${{ secrets.pypi_password }}