Fix CI/CD macos-huggingface #3721
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: Test | |
run: | | |
if [[ ${{ runner.os == 'macOS' }} ]]; then | |
source ./hack/activate-libomp-macos.sh | |
fi | |
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' }} | |
architecture: | |
- x86_64 | |
- arm64 | |
exclude: | |
# Exclude macos and huggingface combination on x86_64 | |
- os: macos-13 | |
tox-environment: huggingface | |
architecture: x86_64 | |
# Exclude all other macos combinations on arm64 | |
- os: macos-13 | |
architecture: arm64 | |
tox-environment: sklearn | |
- os: macos-13 | |
architecture: arm64 | |
tox-environment: xgboost | |
- os: macos-13 | |
architecture: arm64 | |
tox-environment: lightgbm | |
- os: macos-13 | |
architecture: arm64 | |
tox-environment: mlflow | |
- os: macos-13 | |
architecture: arm64 | |
tox-environment: alibi-explain | |
- os: macos-13 | |
architecture: arm64 | |
tox-environment: alibi-detect | |
- os: macos-13 | |
architecture: arm64 | |
tox-environment: catboost | |
# Exclude all ubuntu on arm64 | |
- os: ubuntu-22.04 | |
architecture: arm64 | |
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: Test | |
run: | | |
if [[ ${{ runner.os == 'macOS' }} ]]; then | |
source ./hack/activate-libomp-macos.sh | |
fi | |
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: 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: Test | |
run: | | |
if [[ ${{ runner.os == 'macOS' }} ]]; then | |
source ./hack/activate-libomp-macos.sh | |
fi | |
poetry run tox -e all-runtimes |