Update CI config and dev tools #7
This file contains 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, pull_request] | |
jobs: | |
build-windows: | |
name: Python ${{ matrix.python }} on windows-2019 ${{ matrix.arch }} | |
runs-on: windows-2019 | |
strategy: | |
matrix: | |
python: | |
- '3.11' | |
# - 'pypy-3.7-v7.3.5' | |
arch: | |
- 'x86' | |
- 'x64' | |
exclude: | |
- python: 'pypy-3.7-v7.3.5' | |
arch: x86 | |
steps: | |
- uses: actions/checkout@master | |
- uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python }} | |
architecture: ${{ matrix.arch }} | |
- name: Install dependencies | |
run: python run.py deps | |
- name: Run test suite | |
run: python run.py ci-driver | |
- name: Run test suite (Windows legacy API) | |
run: python run.py ci-driver winlegacy | |
build-windows-old: | |
name: Python ${{ matrix.python }} on windows-2019 ${{ matrix.arch }} | |
runs-on: windows-2019 | |
strategy: | |
matrix: | |
python: | |
- '2.6' | |
- '2.7' | |
- '3.3' | |
arch: | |
- 'x86' | |
- 'x64' | |
steps: | |
- uses: actions/checkout@master | |
- name: Cache Python | |
id: cache-python | |
uses: actions/cache@v2 | |
with: | |
path: ~/AppData/Local/Python${{ matrix.python }}-${{ matrix.arch }} | |
key: windows-2019-python-${{ matrix.python }}-${{ matrix.arch }} | |
- name: Install Python ${{ matrix.python }} | |
run: python run.py python-install ${{ matrix.python }} ${{ matrix.arch }} | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append | |
- name: Install dependencies | |
run: python run.py deps | |
- name: Run test suite | |
run: python run.py ci-driver | |
- name: Run test suite (Windows legacy API) | |
run: python run.py ci-driver winlegacy | |
build-mac: | |
name: Python ${{ matrix.python }} on macos-13 | |
runs-on: macos-13 | |
strategy: | |
matrix: | |
python: | |
- '3.11' | |
steps: | |
- uses: actions/checkout@master | |
- uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python }} | |
architecture: x64 | |
- name: Install dependencies | |
run: python run.py deps | |
- name: Run test suite | |
run: python run.py ci-driver | |
- name: Run test suite (Mac cffi) | |
run: python run.py ci-driver cffi | |
- name: Run test suite (Mac OpenSSL) | |
run: python run.py ci-driver openssl | |
- name: Run test suite (Mac OpenSSL/cffi) | |
run: python run.py ci-driver cffi openssl | |
build-mac-legacy: | |
name: Python ${{ matrix.python }} on macos-11 | |
runs-on: macos-11 | |
strategy: | |
matrix: | |
python: | |
- '3.7' | |
- '3.11' | |
steps: | |
- uses: actions/checkout@master | |
- uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python }} | |
architecture: x64 | |
- name: Install dependencies | |
run: python run.py deps | |
- name: Run test suite | |
run: python run.py ci-driver | |
- name: Run test suite (Mac cffi) | |
run: python run.py ci-driver cffi | |
- name: Run test suite (Mac OpenSSL) | |
run: python run.py ci-driver openssl | |
- name: Run test suite (Mac OpenSSL/cffi) | |
run: python run.py ci-driver cffi openssl | |
build-mac-old: | |
name: Python ${{ matrix.python }} on macos-11 | |
runs-on: macos-11 | |
strategy: | |
matrix: | |
python: | |
- '2.6' | |
- '2.7' | |
- '3.3' | |
env: | |
PYTHONIOENCODING: 'utf-8:surrogateescape' | |
steps: | |
- uses: actions/checkout@master | |
- name: Check pyenv | |
id: check-pyenv | |
uses: actions/cache@v2 | |
with: | |
path: ~/.pyenv | |
key: macos-11-${{ matrix.python }}-pyenv | |
- name: Install Python ${{ matrix.python }} | |
run: python run.py pyenv-install ${{ matrix.python }} >> $GITHUB_PATH | |
- name: Install dependencies | |
run: python run.py deps | |
- name: Run test suite | |
run: python run.py ci-driver | |
- name: Run test suite (Mac cffi) | |
run: python run.py ci-driver cffi | |
- name: Run test suite (Mac OpenSSL) | |
run: python run.py ci-driver openssl | |
- name: Run test suite (Mac OpenSSL/cffi) | |
run: python run.py ci-driver cffi openssl | |
build-mac-openssl3: | |
name: Python ${{ matrix.python }} on macos-11 with OpenSSL 3.0 | |
runs-on: macos-11 | |
strategy: | |
matrix: | |
python: | |
- '3.6' | |
- '3.11' | |
steps: | |
- uses: actions/checkout@master | |
- uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python }} | |
architecture: x64 | |
- name: Install OpenSSL 3.0 | |
run: brew install openssl@3 | |
- name: Install dependencies | |
run: python run.py deps | |
- name: Run test suite (Mac OpenSSL 3.0) | |
run: python run.py ci-driver openssl3 | |
- name: Run test suite (Mac OpenSSL 3.0/cffi) | |
run: python run.py ci-driver cffi openssl3 | |
build-ubuntu: | |
name: Python ${{ matrix.python }} on ubuntu-20.04 x64 | |
runs-on: ubuntu-20.04 | |
strategy: | |
matrix: | |
python: | |
- '3.9' | |
- '3.10' | |
- '3.11' | |
- 'pypy-3.7-v7.3.5' | |
steps: | |
- uses: actions/checkout@master | |
- uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python }} | |
architecture: x64 | |
- name: Install dependencies | |
run: python run.py deps | |
- name: Run test suite | |
run: python run.py ci-driver | |
build-ubuntu-openssl3-py3: | |
name: Python 3 on (Docker) ubuntu-22.04 x64 | |
runs-on: ubuntu-latest | |
container: ubuntu:22.04 | |
steps: | |
- uses: actions/checkout@master | |
- name: Install Python and OpenSSL | |
run: DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y --no-install-recommends python3 python3-setuptools python-is-python3 openssl curl ca-certificates git | |
- name: Install dependencies | |
run: python run.py deps | |
- name: Run test suite | |
run: python run.py ci-driver | |
- name: Run test suite (cffi) | |
run: python run.py ci-driver cffi | |
build-ubuntu-openssl3-py2: | |
name: Python 2 on (Docker) ubuntu-22.04 x64 | |
runs-on: ubuntu-latest | |
container: ubuntu:22.04 | |
steps: | |
- uses: actions/checkout@master | |
- name: Install Python and OpenSSL | |
run: DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y --no-install-recommends python2 python-setuptools openssl curl ca-certificates git | |
- name: Install dependencies | |
run: python2 run.py deps | |
- name: Run test suite | |
run: python2 run.py ci-driver | |
- name: Run test suite (cffi) | |
run: python2 run.py ci-driver cffi | |
build-ubuntu-old: | |
name: Python ${{ matrix.python }} on ubuntu-20.04 x64 | |
runs-on: ubuntu-20.04 | |
strategy: | |
matrix: | |
python: | |
- '3.6' | |
- '3.7' | |
steps: | |
- uses: actions/checkout@master | |
- name: Setup deadsnakes/ppa | |
run: sudo apt-add-repository ppa:deadsnakes/ppa | |
- name: Update apt | |
run: sudo apt-get update | |
- name: Install Python ${{matrix.python}} | |
run: sudo apt-get install python${{matrix.python}} python${{matrix.python}}-distutils | |
- name: Install dependencies | |
run: python${{matrix.python}} run.py deps | |
- name: Run test suite | |
run: python${{matrix.python}} run.py ci-driver |