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