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'