1 # The "test" workflow is run on every PR and runs tests across all
2 # supported python versions and a range of configurations
3 # specified in tox.ini. Also see the "build" workflow which is only
4 # run for release branches and covers platforms other than linux-amd64
5 # (Platform-specific issues are rare these days so we don't want to
6 # take that time on every build).
13 # Before starting the full build matrix, run one test configuration
14 # and the linter (the `black` linter is especially likely to catch
15 # first-time contributors).
20 - uses: actions/checkout@v3
21 - uses: actions/setup-python@v4
24 # Lint python version must be synced with tox.ini
27 run: python -m pip install tox -c requirements.txt
29 - name: Run test suite
30 run: python -m tox -e py38,lint
46 # Early versions of 3.10 and 3.11 had different deprecation
47 # warnings in asyncio. Test with them too to make sure everything
54 - python: '3.12.0-beta.3 - 3.12'
57 # Pypy is a lot slower due to jit warmup costs, so don't run the
58 # "full" test config there.
61 # Docs python version must be synced with tox.ini
65 - uses: actions/checkout@v3
66 - uses: actions/setup-python@v4
69 python-version: ${{ matrix.python}}
70 - name: Install apt packages
71 run: sudo apt-get update && sudo apt-get install libcurl4-openssl-dev
73 run: python -m pip install tox -c requirements.txt
75 - name: Run test suite
76 run: python -m tox -e ${{ matrix.tox_env }}