| name: CI |
| on: [push, pull_request] |
| |
| jobs: |
| build: |
| name: Python ${{ matrix.python }} on ${{ matrix.os }} ${{ matrix.arch }} |
| runs-on: ${{ matrix.os }} |
| strategy: |
| matrix: |
| os: |
| - ubuntu-18.04 |
| - macOS-latest |
| - windows-2019 |
| python: |
| - '2.7' |
| - '3.7' |
| arch: |
| - 'x86' |
| - 'x64' |
| exclude: |
| - os: ubuntu-18.04 |
| arch: x86 |
| - os: macOS-latest |
| arch: x86 |
| steps: |
| - uses: actions/checkout@master |
| - uses: actions/setup-python@v1 |
| 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 |
| env: |
| OSCRYPTO_USE_CTYPES: 'true' |
| - name: Run test suite (Mac cffi) |
| run: python run.py ci |
| if: runner.os == 'macOS' |
| - name: Run test suite (Mac OpenSSL) |
| run: python run.py ci |
| if: runner.os == 'macOS' |
| env: |
| OSCRYPTO_USE_OPENSSL: /usr/lib/libcrypto.dylib,/usr/lib/libssl.dylib |
| OSCRYPTO_USE_CTYPES: 'true' |
| - name: Run test suite (Mac OpenSSL/cffi) |
| run: python run.py ci |
| if: runner.os == 'macOS' |
| env: |
| OSCRYPTO_USE_OPENSSL: /usr/lib/libcrypto.dylib,/usr/lib/libssl.dylib |
| - name: Run test suite (Windows legacy API) |
| run: python run.py ci |
| if: runner.os == 'Windows' |
| env: |
| OSCRYPTO_USE_WINLEGACY: 'true' |