| 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: |
| - '2.7' |
| - '3.9' |
| # - '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' |
| - '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-10.15 |
| runs-on: macos-10.15 |
| strategy: |
| matrix: |
| python: |
| - '2.7' |
| - '3.9' |
| # - '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 |
| - 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 |
| if: ${{ matrix.python }} != 'pypy-3.7-v7.3.5' |
| - name: Run test suite (Mac OpenSSL/cffi) |
| run: python run.py ci-driver cffi openssl |
| if: ${{ matrix.python }} != 'pypy-3.7-v7.3.5' |
| |
| build-mac-old: |
| name: Python ${{ matrix.python }} on macos-10.15 |
| runs-on: macos-10.15 |
| strategy: |
| matrix: |
| python: |
| - '2.6' |
| - '3.3' |
| steps: |
| - uses: actions/checkout@master |
| |
| - name: Check pyenv |
| id: check-pyenv |
| uses: actions/cache@v2 |
| with: |
| path: ~/.pyenv |
| key: macos-10.15-${{ 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-ubuntu: |
| name: Python ${{ matrix.python }} on ubuntu-18.04 x64 |
| runs-on: ubuntu-18.04 |
| strategy: |
| matrix: |
| python: |
| - '2.7' |
| - '3.6' |
| - '3.9' |
| - '3.10' |
| - '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-old: |
| name: Python ${{ matrix.python }} on ubuntu-18.04 x64 |
| runs-on: ubuntu-18.04 |
| strategy: |
| matrix: |
| python: |
| - '2.6' |
| - '3.2' |
| - '3.3' |
| 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}} |
| - name: Install dependencies |
| run: python${{matrix.python}} run.py deps |
| - name: Run test suite |
| run: python${{matrix.python}} run.py ci-driver |
| |
| build-arm: |
| name: Python 2.7/3.8 on arm |
| runs-on: [self-hosted, linux, ARM] |
| steps: |
| - uses: actions/checkout@master |
| - name: Install dependencies (2.7) |
| run: python2 run.py deps |
| - name: Run test suite (2.7) |
| run: python2 run.py ci-driver |
| - name: Cleanup deps (2.7) |
| if: always() |
| run: python2 run.py ci-cleanup |
| - name: Install dependencies (3.8) |
| run: python3 run.py deps |
| - name: Run test suite (3.8) |
| run: python3 run.py ci-driver |
| - name: Cleanup deps (3.8) |
| if: always() |
| run: python3 run.py ci-cleanup |
| |
| build-arm64: |
| name: Python 2.7/3.8 on arm64 |
| runs-on: [self-hosted, linux, ARM64] |
| steps: |
| - uses: actions/checkout@master |
| - name: Install dependencies (2.7) |
| run: python2 run.py deps |
| - name: Run test suite (2.7) |
| run: python2 run.py ci-driver |
| - name: Cleanup deps (2.7) |
| if: always() |
| run: python2 run.py ci-cleanup |
| - name: Install dependencies (3.8) |
| run: python3 run.py deps |
| - name: Run test suite (3.8) |
| run: python3 run.py ci-driver |
| - name: Cleanup deps (3.8) |
| if: always() |
| run: python3 run.py ci-cleanup |