Json config list, agent refactoring and new notebooks #5442
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] | |
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"] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: On mac + python 3.10, install libomp to facilitate lgbm and xgboost install | |
if: matrix.os == 'macOS-latest' && matrix.python-version == '3.10' | |
run: | | |
# remove libomp version constraint after xgboost works with libomp>11.1.0 on python 3.10 | |
wget https://raw.githubusercontent.com/Homebrew/homebrew-core/679923b4eb48a8dc7ecc1f05d06063cd79b3fc00/Formula/libomp.rb -O $(find $(brew --repository) -name libomp.rb) | |
brew unlink libomp | |
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.8, install pyspark 3.2.3 | |
if: matrix.python-version == '3.8' && matrix.os == 'ubuntu-latest' | |
run: | | |
pip install pyspark==3.2.3 | |
pip list | grep "pyspark" | |
- name: If linux, install ray 2 | |
if: matrix.os == 'ubuntu-latest' | |
run: | | |
pip install "ray[tune]<2.5.0" | |
- name: If mac, install ray | |
if: matrix.os == 'macOS-latest' | |
run: | | |
pip install -e .[ray] | |
- name: If linux or mac, install prophet on python < 3.9 | |
if: (matrix.os == 'macOS-latest' || matrix.os == 'ubuntu-latest') && matrix.python-version != '3.9' && matrix.python-version != '3.10' | |
run: | | |
pip install -e .[forecast] | |
- name: Install vw on python < 3.10 | |
if: matrix.python-version != '3.10' | |
run: | | |
pip install -e .[vw] | |
- name: Uninstall pyspark on (python 3.9) or (python 3.8 + windows) | |
if: matrix.python-version == '3.9' || (matrix.python-version == '3.8' && matrix.os == 'windows-2019') | |
run: | | |
# Uninstall pyspark to test env without pyspark | |
pip uninstall -y pyspark | |
- 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 |