1- name : Validate requirements
1+ name : Test requirements
22
33on :
44 pull_request :
5+ types :
6+ - opened
7+ - synchronize
8+ - reopened
9+ - ready_for_review
510 paths :
611 - requirements/core-requirements.yaml
712 - requirements/skinny-requirements.yaml
13+ - requirements/gateway-requirements.yaml
14+ - .github/workflows/test-requirements.yml
815 schedule :
9- - cron : ' 0 13 * * *'
16+ - cron : " 0 13 * * *"
1017
1118concurrency :
12- group : ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
19+ group : ${{ github.workflow }}-${{ github.event_name }}-${{ github.ref }}
1320 cancel-in-progress : true
1421
1522env :
23+ MLFLOW_HOME : ${{ github.workspace }}
1624 MLFLOW_CONDA_HOME : /usr/share/miniconda
1725 SPARK_LOCAL_IP : localhost
18- # Best effort to test MLflow with newer versions of dependencies and increase
19- # the maximum supported major versions. For example, pandas > 1.3 is not installable
20- # in Python 3.7, but it is in Python 3.8.
21- PYTHON_VERSION : ' 3.8 '
26+ PYTHON_VERSION : " 3.11 " # minimum supported version + 1
27+ PIP_EXTRA_INDEX_URL : https://download.pytorch.org/whl/cpu
28+ PIP_CONSTRAINT : ${{ github.workspace }}/requirements/constraints.txt
29+ _MLFLOW_TESTING_TELEMETRY : " true "
2230
2331defaults :
2432 run :
25- shell : bash --noprofile --norc -exo pipefail {0}
33+ shell : bash
2634
2735jobs :
2836 skinny :
2937 runs-on : ubuntu-latest
38+ timeout-minutes : 10
39+ permissions :
40+ contents : read
41+ if : (github.event_name == 'schedule' && github.repository == 'mlflow/dev') || (github.event_name == 'pull_request' && github.event.pull_request.draft == false)
3042 steps :
31- - uses : actions/checkout@v3
43+ - uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
3244 with :
45+ repository : ${{ github.event_name == 'schedule' && 'mlflow/mlflow' || null }}
3346 submodules : recursive
3447 - uses : ./.github/actions/setup-python
3548 with :
@@ -42,16 +55,29 @@ jobs:
4255 - name : Install dependencies
4356 run : |
4457 source ./dev/install-common-deps.sh --skinny
58+ - uses : ./.github/actions/show-versions
4559 - name : Run tests
4660 run : |
4761 ./dev/run-python-skinny-tests.sh
4862
4963 core :
5064 runs-on : ubuntu-latest
65+ timeout-minutes : 120
66+ permissions :
67+ contents : read
68+ if : (github.event_name == 'schedule' && github.repository == 'mlflow/dev') || (github.event_name == 'pull_request' && github.event.pull_request.draft == false)
69+ strategy :
70+ fail-fast : false
71+ matrix :
72+ group : [1, 2]
73+ include :
74+ - splits : 2
5175 steps :
52- - uses : actions/checkout@v3
76+ - uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
5377 with :
78+ repository : ${{ github.event_name == 'schedule' && 'mlflow/mlflow' || null }}
5479 submodules : recursive
80+ - uses : ./.github/actions/free-disk-space
5581 - uses : ./.github/actions/setup-python
5682 with :
5783 python-version : ${{ env.PYTHON_VERSION }}
6591 - name : Install dependencies
6692 run : |
6793 source ./dev/install-common-deps.sh --ml
94+ pip install '.[gateway]'
95+ # transformers doesn't support Keras 3 yet. tf-keras needs to be installed as a workaround.
96+ pip install tf-keras
97+ - uses : ./.github/actions/show-versions
6898 - name : Run tests
6999 run : |
70100 source dev/setup-ssh.sh
71- ./dev/run-python-tests.sh
101+ pytest --splits=${{ matrix.splits }} --group=${{ matrix.group }} tests --requires-ssh --ignore-flavors \
102+ --ignore=tests/examples --ignore=tests/evaluate \
103+ --ignore=tests/deployments --ignore=tests/genai
0 commit comments