| name: Build Python Wheels |
| |
| on: [push, pull_request] |
| |
| env: |
| BUILD_TYPE: Release |
| |
| jobs: |
| build_wheels: |
| name: Build wheels on ${{ matrix.config.name }} |
| runs-on: ${{ matrix.config.os }} |
| strategy: |
| fail-fast: false |
| matrix: |
| config: |
| - { |
| name: "MacOS Latest, Clang", |
| os: macos-latest, |
| cc: "clang", cxx: "clang++" |
| } |
| - { |
| name: "Ubuntu Latest, GCC", |
| os: ubuntu-latest, |
| cc: "gcc", cxx: "g++" |
| } |
| - { |
| name: "Windows Latest, MSVC", |
| os: windows-latest, |
| cc: "cl", cxx: "cl", |
| environment_script: "C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Auxiliary/Build/vcvars64.bat" |
| } |
| |
| steps: |
| - name: Checkout |
| uses: actions/checkout@v2 |
| with: |
| submodules: true |
| persist-credentials: false |
| |
| - name: Set up Python 3.x |
| uses: actions/setup-python@v2 |
| with: |
| python-version: '3.8' # 3.x grabs latest minor version of python3, but not always fully supported (dependencies) |
| |
| - name: Install Python dependencies |
| run: python -m pip install --upgrade pip setuptools wheel numpy tox pytest cibuildwheel==2.1.1 twine |
| |
| - name: Build wheels |
| run: python -m cibuildwheel --output-dir wheelhouse |
| env: |
| CIBW_SKIP: "*-win32" |
| |
| - uses: actions/upload-artifact@v2 |
| with: |
| path: ./wheelhouse/*.whl |