Fix/macos all runtimes #3801
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Tests | |
on: | |
push: | |
branches: | |
- master | |
- release/* | |
pull_request: | |
branches: [master] | |
jobs: | |
generate: | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ["3.9", "3.10"] | |
target: ["dataplane", "model-repository"] | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install Poetry | |
uses: snok/install-poetry@v1 | |
with: | |
virtualenvs-create: false | |
- name: Install dependencies | |
run: poetry install --sync --only dev | |
- name: Generate ${{ matrix.target }} | |
run: make generate-${{ matrix.target }} | |
- name: Check for changes | |
run: make lint-no-changes | |
lint: | |
strategy: | |
matrix: | |
python-version: | |
- "3.9" | |
- "3.10" | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install Poetry | |
uses: snok/install-poetry@v1 | |
with: | |
virtualenvs-create: false | |
- name: Install dependencies | |
run: poetry install --sync --only dev | |
- name: Lint | |
run: make lint | |
test-mlserver: | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- ubuntu-22.04 | |
- macos-13 | |
# NOTE: There's no pre-built `grpcio` wheel for Python 3.11 yet | |
# https://github.com/grpc/grpc/issues/32454 | |
python-version: | |
- "3.9" | |
- "3.10" | |
is-pr: | |
- ${{ github.event_name == 'pull_request' }} | |
# exclude: | |
# # MacOS tests take a lot of time, so we will run them only on merge | |
# # From https://github.com/orgs/community/discussions/26253 | |
# - is-pr: true | |
# os: macos-13 | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Docker (missing on MacOS) | |
if: runner.os == 'macos' | |
run: ./hack/install-docker-macos.sh | |
- name: Install OpenMP (in MacOS) | |
if: runner.os == 'macOS' | |
run: brew install libomp | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- uses: conda-incubator/setup-miniconda@v3 | |
with: | |
auto-update-conda: true | |
auto-activate-base: false | |
- name: Install Poetry | |
uses: snok/install-poetry@v1 | |
with: | |
virtualenvs-create: false | |
- name: Install dependencies | |
run: poetry install --only test | |
- name: Activate LibOMP (in MacOS) | |
if: runner.os == 'macOS' | |
run: source ./hack/activate-libomp-macos.sh | |
- name: Test | |
run: poetry run tox -e mlserver | |
test-runtimes: | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- ubuntu-22.04 | |
- macos-13 | |
python-version: | |
- "3.9" | |
- "3.10" | |
tox-environment: | |
- sklearn | |
- xgboost | |
- lightgbm | |
- mlflow | |
- huggingface | |
- alibi-explain | |
- alibi-detect | |
- catboost | |
is-pr: | |
- ${{ github.event_name == 'pull_request' }} | |
# exclude: | |
# # MacOS tests take a lot of time, so we will run them only on merge | |
# # From https://github.com/orgs/community/discussions/26253 | |
# - is-pr: true | |
# os: macos-13 | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install OpenMP (in MacOS) | |
if: runner.os == 'macOS' | |
run: brew install libomp | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- uses: conda-incubator/setup-miniconda@v3 | |
with: | |
auto-update-conda: true | |
auto-activate-base: false | |
- name: Install Poetry | |
uses: snok/install-poetry@v1 | |
with: | |
virtualenvs-create: false | |
- name: Install dependencies | |
run: poetry install --only test | |
- name: Activate LibOMP (in MacOS) | |
if: runner.os == 'macOS' | |
run: source ./hack/activate-libomp-macos.sh | |
- name: Test | |
run: poetry run tox -c ./runtimes/${{ matrix.tox-environment }} | |
# Ensure that having all the runtimes installed together works | |
test-all-runtimes: | |
# if: github.event_name == 'push' | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- ubuntu-22.04 | |
- macos-13 | |
python-version: | |
- "3.9" | |
- "3.10" | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Maximize build space | |
if: runner.os == 'Linux' | |
uses: easimon/maximize-build-space@master | |
with: | |
remove-dotnet: 'true' | |
remove-haskell: 'true' | |
remove-android: 'true' | |
remove-codeql: 'true' | |
remove-docker-images: 'true' | |
overprovision-lvm: 'true' | |
swap-size-mb: 1024 | |
- uses: actions/checkout@v4 | |
- name: Install OpenMP (in MacOS) | |
if: runner.os == 'macOS' | |
run: brew install libomp | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- uses: conda-incubator/setup-miniconda@v3 | |
with: | |
auto-update-conda: true | |
auto-activate-base: false | |
- name: Install Poetry | |
uses: snok/install-poetry@v1 | |
with: | |
virtualenvs-create: false | |
- name: Install dependencies | |
run: poetry install --only test | |
- name: Activate LibOMP (in MacOS) | |
if: runner.os == 'macOS' | |
run: source ./hack/activate-libomp-macos.sh | |
- name: Test all runtimes | |
run: poetry run tox -e all-runtimes | |
# Install Docker here cause for macOS we get SegFault | |
# when running runtimes tests with Docker installed - might | |
# be caused by colima memory usage | |
- name: Setup Docker (missing on MacOS) | |
if: runner.os == 'macOS' | |
run: ./hack/install-docker-macos.sh | |
- name: Test mlserver with all runtimes | |
run: poetry run tox -e all-mlserver |