# Adapted from https://github.com/RalfG/python-wheels-manylinux-build/blob/master/full_workflow_example.yml name: Build CFML wheels on various systems on: push: branches: [ simon ] jobs: create-Linux: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Build manylinux wheels run: docker run -e PLAT=manylinux2010_x86_64 -v `pwd`:/io quay.io/pypa/manylinux2010_x86_64 /io/Scripts/buildscript.sh - uses: actions/upload-artifact@v2 with: name: CrysFML - Linux path: ${{ github.workspace }}/dist/*.whl create-OSX: strategy: max-parallel: 4 matrix: python-version: ['3.6', '3.7', '3.8', '3.9'] os: [macos-10.15] gcc_v: [ 10 ] # Version of GFortran we want to use. # exclude: # Currently only python > 3.8 is supported on macos-11.0 and > 3.6 on macos-10.15 # - os: macos-11.0 # python-version: '3.7' # - os: macos-11.0 # python-version: '3.8' runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v2 - name: Setup python uses: actions/setup-python@v1 with: python-version: ${{matrix.python-version}} - name: Install cmake run: pip3 install cmake delocate wheel - name: Build CFML (OSX) env: FC: gfortran-${{ matrix.gcc_v }} CC: gcc-${{ matrix.gcc_v }} run: | pip3 wheel ./ --no-deps -w ./dist/ delocate-wheel -w fixed_wheels -v ./dist/*.whl - uses: actions/upload-artifact@v2 with: name: CrysFML - ${{ matrix.os }} - Python ${{ matrix.python-version }} path: ./fixed_wheels/*.whl create-Windows: strategy: max-parallel: 4 matrix: python-version: [ '3.6', '3.7', '3.8', '3.9', '3.10' ] os: [ windows-latest ] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v2 - name: Setup python uses: actions/setup-python@v1 with: python-version: ${{matrix.python-version}} - name: Install wheel run: pip install wheel - uses: msys2/setup-msys2@v2 with: msystem: MSYS install: cmake mingw-w64-x86_64-toolchain update: true path-type: inherit - name: Build CFML shell: msys2 {0} id: build run: pip wheel ./ --no-deps -w ./dist/ env: MINGW_ARCH: MINGW64 - uses: actions/upload-artifact@v2 with: name: CrysFML - ${{ matrix.os }} - Python ${{ matrix.python-version }} path: ./dist/*.whl