Files
2026-07-13 13:22:34 +08:00

82 lines
2.7 KiB
YAML

# A daily job to run slow tests with MLFLOW_RUN_SLOW_TESTS environment variable set to true.
name: MLflow Slow Tests
on:
pull_request:
paths:
# Run this workflow in PR when relevant files change
- ".github/workflows/slow-tests.yml"
- "tests/docker/**"
- "tests/pyfunc/docker/**"
workflow_dispatch:
inputs:
repository:
description: >
[Optional] Repository name with owner. For example, mlflow/mlflow.
Defaults to the repository that triggered a workflow.
required: false
default: ""
ref:
description: >
[Optional] The branch, tag or SHA to checkout. When checking out the repository that
triggered a workflow, this defaults to the reference or SHA for that event. Otherwise,
uses the default branch.
required: false
default: ""
schedule:
# Run this workflow daily at 13:00 UTC
- cron: "0 13 * * *"
concurrency:
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.ref }}
cancel-in-progress: true
defaults:
run:
shell: bash
env:
MLFLOW_RUN_SLOW_TESTS: "true"
MLFLOW_HOME: ${{ github.workspace }}
PIP_EXTRA_INDEX_URL: https://download.pytorch.org/whl/cpu
PIP_CONSTRAINT: ${{ github.workspace }}/requirements/constraints.txt
permissions: {}
jobs:
docker-build:
runs-on: ubuntu-latest
timeout-minutes: 120
permissions:
contents: read
if: (github.event_name == 'schedule' && github.repository == 'mlflow/dev') || github.event_name == 'workflow_dispatch' || (github.event_name == 'pull_request' && (github.event.pull_request.draft == false || github.event.pull_request.user.login == 'Copilot' && github.event.pull_request.user.type == 'Bot'))
strategy:
fail-fast: false
matrix:
group: [1, 2, 3]
include:
- splits: 3
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
- uses: ./.github/actions/free-disk-space
- uses: ./.github/actions/untracked
- uses: ./.github/actions/setup-python
- uses: ./.github/actions/setup-pyenv
- uses: ./.github/actions/setup-java
- name: Install dependencies
run: |
uv sync --extra extras
uv pip install \
-r requirements/test-requirements.txt \
-r requirements/extra-ml-requirements.txt \
langchain_experimental "pyarrow<18"
- uses: ./.github/actions/show-versions
- name: Run tests
env:
SPLITS: ${{ matrix.splits }}
GROUP: ${{ matrix.group }}
run: |
uv run --no-sync pytest --splits=$SPLITS --group=$GROUP tests/docker tests/pyfunc/docker