Fix data transform issue, spark log_loss metric compute error and json dumps TypeError (Sync Fabric till 3c545e67) #6216
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
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions | |
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions | |
name: Build | |
on: | |
push: | |
branches: ['main'] | |
paths: | |
- 'flaml/**' | |
- 'test/**' | |
- 'notebook/**' | |
- '.github/workflows/python-package.yml' | |
- 'setup.py' | |
pull_request: | |
branches: ['main'] | |
merge_group: | |
types: [checks_requested] | |
permissions: {} | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.head_ref }} | |
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} | |
jobs: | |
build: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, macos-latest, windows-2019] | |
python-version: ["3.8", "3.9", "3.10", "3.11"] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: On mac, install libomp to facilitate lgbm and xgboost install | |
if: matrix.os == 'macOS-latest' | |
run: | | |
brew update | |
brew install libomp | |
export CC=/usr/bin/clang | |
export CXX=/usr/bin/clang++ | |
export CPPFLAGS="$CPPFLAGS -Xpreprocessor -fopenmp" | |
export CFLAGS="$CFLAGS -I/usr/local/opt/libomp/include" | |
export CXXFLAGS="$CXXFLAGS -I/usr/local/opt/libomp/include" | |
export LDFLAGS="$LDFLAGS -Wl,-rpath,/usr/local/opt/libomp/lib -L/usr/local/opt/libomp/lib -lomp" | |
- name: Install packages and dependencies | |
run: | | |
python -m pip install --upgrade pip wheel | |
pip install -e . | |
python -c "import flaml" | |
pip install -e .[test] | |
- name: On Ubuntu python 3.10, install pyspark 3.4.1 | |
if: matrix.python-version == '3.10' && matrix.os == 'ubuntu-latest' | |
run: | | |
pip install pyspark==3.4.1 | |
pip list | grep "pyspark" | |
- name: On Ubuntu python 3.11, install pyspark 3.5.1 | |
if: matrix.python-version == '3.11' && matrix.os == 'ubuntu-latest' | |
run: | | |
pip install pyspark==3.5.1 | |
pip list | grep "pyspark" | |
- name: If linux and python<3.11, install ray 2 | |
if: matrix.os == 'ubuntu-latest' && matrix.python-version != '3.11' | |
run: | | |
pip install "ray[tune]<2.5.0" | |
- name: If mac and python 3.10, install ray and xgboost 1 | |
if: matrix.os == 'macOS-latest' && matrix.python-version == '3.10' | |
run: | | |
pip install -e .[ray] | |
# use macOS to test xgboost 1, but macOS also supports xgboost 2 | |
pip install "xgboost<2" | |
- name: If linux, install prophet on python < 3.9 | |
if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.8' | |
run: | | |
pip install -e .[forecast] | |
- name: Install vw on python < 3.10 | |
if: matrix.python-version == '3.8' || matrix.python-version == '3.9' | |
run: | | |
pip install -e .[vw] | |
- name: Test with pytest | |
if: matrix.python-version != '3.10' | |
run: | | |
pytest test | |
- name: Coverage | |
if: matrix.python-version == '3.10' | |
run: | | |
pip install coverage | |
coverage run -a -m pytest test | |
coverage xml | |
- name: Upload coverage to Codecov | |
if: matrix.python-version == '3.10' | |
uses: codecov/codecov-action@v3 | |
with: | |
file: ./coverage.xml | |
flags: unittests | |
# docs: | |
# runs-on: ubuntu-latest | |
# steps: | |
# - uses: actions/checkout@v3 | |
# - name: Setup Python | |
# uses: actions/setup-python@v4 | |
# with: | |
# python-version: '3.8' | |
# - name: Compile documentation | |
# run: | | |
# pip install -e . | |
# python -m pip install sphinx sphinx_rtd_theme | |
# cd docs | |
# make html | |
# - name: Deploy to GitHub pages | |
# if: ${{ github.ref == 'refs/heads/main' }} | |
# uses: JamesIves/[email protected] | |
# with: | |
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
# BRANCH: gh-pages | |
# FOLDER: docs/_build/html | |
# CLEAN: true |