From 886fabbd8c42289f3e74c041a3043c76657fffc9 Mon Sep 17 00:00:00 2001 From: Li Jiang Date: Sat, 10 Jan 2026 10:24:18 +0000 Subject: [PATCH 1/7] Fix macOS hang with running coverage --- .github/workflows/python-package.yml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 0098f5529b..aa8c259e23 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -41,11 +41,6 @@ jobs: matrix: os: [ubuntu-latest, macos-latest, windows-latest] python-version: ["3.10", "3.11", "3.12"] - exclude: - - os: macos-latest - python-version: "3.10" # macOS runners will hang on python 3.10 for unknown reasons - - os: macos-latest - python-version: "3.12" # macOS runners will hang on python 3.12 for unknown reasons steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} @@ -107,7 +102,8 @@ jobs: run: | pytest test/ --ignore=test/autogen --reruns 2 --reruns-delay 10 - name: Coverage - if: matrix.python-version == '3.11' + # macOS will hang when running coverage + if: matrix.python-version == '3.11' and matrix.os != 'macos-latest' run: | pip install coverage coverage run -a -m pytest test --ignore=test/autogen --reruns 2 --reruns-delay 10 From 736068f6b225d173ce1b0a6b5ba3da37b793acac Mon Sep 17 00:00:00 2001 From: Li Jiang Date: Sat, 10 Jan 2026 10:37:44 +0000 Subject: [PATCH 2/7] Run coverage only in ubuntu --- .github/workflows/python-package.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index aa8c259e23..cedb8d23bb 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -102,14 +102,13 @@ jobs: run: | pytest test/ --ignore=test/autogen --reruns 2 --reruns-delay 10 - name: Coverage - # macOS will hang when running coverage - if: matrix.python-version == '3.11' and matrix.os != 'macos-latest' + if: matrix.python-version == '3.11' and matrix.os == 'ubuntu-latest' run: | pip install coverage coverage run -a -m pytest test --ignore=test/autogen --reruns 2 --reruns-delay 10 coverage xml - name: Upload coverage to Codecov - if: matrix.python-version == '3.11' + if: matrix.python-version == '3.11' and matrix.os == 'ubuntu-latest' uses: codecov/codecov-action@v3 with: file: ./coverage.xml From 9811dcafc77de7b7a32612f1bc3389f4e4ccc1ad Mon Sep 17 00:00:00 2001 From: Li Jiang Date: Sat, 10 Jan 2026 10:40:44 +0000 Subject: [PATCH 3/7] Fix syntax error --- .github/workflows/python-package.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index cedb8d23bb..cc04200e9b 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -102,13 +102,13 @@ jobs: run: | pytest test/ --ignore=test/autogen --reruns 2 --reruns-delay 10 - name: Coverage - if: matrix.python-version == '3.11' and matrix.os == 'ubuntu-latest' + if: matrix.python-version == '3.11' && matrix.os == 'ubuntu-latest' run: | pip install coverage coverage run -a -m pytest test --ignore=test/autogen --reruns 2 --reruns-delay 10 coverage xml - name: Upload coverage to Codecov - if: matrix.python-version == '3.11' and matrix.os == 'ubuntu-latest' + if: matrix.python-version == '3.11' && matrix.os == 'ubuntu-latest' uses: codecov/codecov-action@v3 with: file: ./coverage.xml From b2c051ec6b4f06a50f3e6382f69538845fbb2454 Mon Sep 17 00:00:00 2001 From: Li Jiang Date: Sat, 10 Jan 2026 10:57:25 +0000 Subject: [PATCH 4/7] Fix run tests logic --- .github/workflows/python-package.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index cc04200e9b..76d74c4804 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -98,7 +98,7 @@ jobs: run: | pip cache purge - name: Test with pytest - if: matrix.python-version != '3.11' + if: ${{ !(matrix.python-version == '3.11' && matrix.os == 'ubuntu-latest') }} run: | pytest test/ --ignore=test/autogen --reruns 2 --reruns-delay 10 - name: Coverage From cad0924f382c67df1ba05e079b55a88dc34d4528 Mon Sep 17 00:00:00 2001 From: Li Jiang Date: Sat, 10 Jan 2026 11:04:37 +0000 Subject: [PATCH 5/7] Update readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 30a2b14577..8151fc7cd4 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ FLAML has a .NET implementation in [ML.NET](http://dot.net/ml), an open-source, ## Installation -FLAML requires **Python version >= 3.9**. It can be installed from pip: +The latest version of FLAML requires **Python >= 3.10 and \< 3.13**. While other Python versions may work for core components, full model support is not guaranteed. FLAML can be installed via `pip`: ```bash pip install flaml From 3829f3172993f08b8782be0e2fcbbf9a134efa46 Mon Sep 17 00:00:00 2001 From: Li Jiang Date: Sat, 10 Jan 2026 11:07:18 +0000 Subject: [PATCH 6/7] Don't test python 3.10 on macos as it's stuck --- .github/workflows/python-package.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 76d74c4804..23a37229e1 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -41,6 +41,11 @@ jobs: matrix: os: [ubuntu-latest, macos-latest, windows-latest] python-version: ["3.10", "3.11", "3.12"] + exclude: + - os: macos-latest + python-version: "3.10" # macOS runners will hang on python 3.10 for unknown reasons + - os: macos-latest + python-version: "3.12" # macOS runners will hang on python 3.12 for unknown reasons steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} From 6d7afc8fddb2e21b20f894745dc6d0710129b34e Mon Sep 17 00:00:00 2001 From: Li Jiang Date: Sat, 10 Jan 2026 11:59:40 +0000 Subject: [PATCH 7/7] Enable all python versions for macos --- .github/workflows/python-package.yml | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 23a37229e1..23db86892f 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -39,13 +39,8 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, macos-latest, windows-latest] + os: [ubuntu-latest, windows-latest, macos-latest] python-version: ["3.10", "3.11", "3.12"] - exclude: - - os: macos-latest - python-version: "3.10" # macOS runners will hang on python 3.10 for unknown reasons - - os: macos-latest - python-version: "3.12" # macOS runners will hang on python 3.12 for unknown reasons steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} @@ -103,17 +98,17 @@ jobs: run: | pip cache purge - name: Test with pytest - if: ${{ !(matrix.python-version == '3.11' && matrix.os == 'ubuntu-latest') }} + if: matrix.python-version != '3.11' run: | pytest test/ --ignore=test/autogen --reruns 2 --reruns-delay 10 - name: Coverage - if: matrix.python-version == '3.11' && matrix.os == 'ubuntu-latest' + if: matrix.python-version == '3.11' run: | pip install coverage coverage run -a -m pytest test --ignore=test/autogen --reruns 2 --reruns-delay 10 coverage xml - name: Upload coverage to Codecov - if: matrix.python-version == '3.11' && matrix.os == 'ubuntu-latest' + if: matrix.python-version == '3.11' uses: codecov/codecov-action@v3 with: file: ./coverage.xml