name: Python Package
on:
push:
paths:
- 'pyroscope_ffi/python/**'
- '.github/workflows/python.yml'
pull_request:
paths:
- 'pyroscope_ffi/python/**'
- '.github/workflows/python.yml'
jobs:
linux:
strategy:
fail-fast: false
matrix:
build-arch:
- manylinux2010_x86_64
- manylinux2014_aarch64
name: Linux - ${{ matrix.build-arch }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
submodules: recursive
- if: matrix.build-arch == 'manylinux2014_aarch64'
uses: docker/setup-qemu-action@v1
with:
platforms: arm64
- name: Build in Docker
run: pyroscope_ffi/python/scripts/docker.sh
env:
BUILD_ARCH: ${{ matrix.build-arch }}
- uses: actions/upload-artifact@v2
with:
name: ${{ github.sha }}
path: pyroscope_ffi/python/dist/*
macos:
strategy:
fail-fast: false
matrix:
include:
- macos-version: "10.15"
target: x86_64-apple-darwin
py-platform: macosx-10_15_x86_64
- macos-version: "11.0"
target: aarch64-apple-darwin
py-platform: macosx-11_0_arm64
name: macOS - ${{ matrix.py-platform }}
runs-on: macos-${{ matrix.macos-version }}
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
target: ${{ matrix.target }}
profile: minimal
override: true
- uses: actions/setup-python@v2
with:
python-version: 3.9
- name: Build Wheel
run: |
pip install wheel
python setup.py bdist_wheel -p ${{ matrix.py-platform }}
working-directory: pyroscope_ffi/python
env:
CARGO_BUILD_TARGET: ${{ matrix.target }}
- uses: actions/upload-artifact@v2
with:
name: ${{ github.sha }}
path: pyroscope_ffi/python/dist/*
sdist:
name: sdist
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: 3.7
- name: Build sdist
run: python setup.py sdist
working-directory: pyroscope_ffi/python
- uses: actions/upload-artifact@v2
with:
name: ${{ github.sha }}
path: pyroscope_ffi/python/dist/*