Skip to content

Move project source back to src/geventhttpclient, making sure that th… #3

Move project source back to src/geventhttpclient, making sure that th…

Move project source back to src/geventhttpclient, making sure that th… #3

Workflow file for this run

name: Tests
on: [push, pull_request]
jobs:
tests:
name: ${{ matrix.name }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- {name: Windows, python: '3.11', os: windows-latest, tox: py311}
- {name: Mac, python: '3.11', os: macos-latest, tox: py311}
- {name: '3.12', python: '3.12', os: ubuntu-latest, tox: py312}
- {name: '3.11', python: '3.11', os: ubuntu-latest, tox: py311}
- {name: '3.10', python: '3.10', os: ubuntu-latest, tox: py310}
- {name: '3.9', python: '3.9', os: ubuntu-latest, tox: py39}
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}
- name: Get pip cache dir
id: pip-cache
shell: bash
run: |
if [ "${{ matrix.os }}" = "windows-latest" ]; then
echo "::set-output name=dir::$(pip cache dir | sed 's|\\\\|/|g')" # deprecated way for windows
else
echo "dir=$(pip cache dir)" >> $GITHUB_OUTPUT # non-deprecated way of setting variables
fi
- name: Cache pip
uses: actions/cache@v4
with:
path: ${{ steps.pip-cache.outputs.dir }}
key: pip|${{ runner.os }}|${{ matrix.python }}|${{ hashFiles('setup.py') }}
- name: set full Python version in PY env var
# See https://pre-commit.com/#github-actions-example
run: echo "PY=$(python -VV | sha256sum | cut -d' ' -f1)" >> $GITHUB_ENV
- run: python -m pip install tox
- run: python -m tox -e ${{ matrix.tox }}
if: ${{ matrix.os != 'windows-latest'}} # skip tests on windows because they are hanging