diff --git a/.github/workflows/test_qlib_from_pip.yml b/.github/workflows/test_qlib_from_pip.yml index 96cb60b383..d23f7ed701 100644 --- a/.github/workflows/test_qlib_from_pip.yml +++ b/.github/workflows/test_qlib_from_pip.yml @@ -37,6 +37,17 @@ jobs: # and this line of code will be removed when the next version of qlib is released. python -m pip install "numpy<1.23" + - name: Install Lightgbm for MacOS + if: ${{ matrix.os == 'macos-11' || matrix.os == 'macos-latest' }} + run: | + /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Microsoft/qlib/main/.github/brew_install.sh)" + HOMEBREW_NO_AUTO_UPDATE=1 brew install lightgbm + # FIX MacOS error: Segmentation fault + # reference: https://github.com/microsoft/LightGBM/issues/4229 + wget https://raw.githubusercontent.com/Homebrew/homebrew-core/fb8323f2b170bd4ae97e1bac9bf3e2983af3fdb0/Formula/libomp.rb + brew unlink libomp + brew install libomp.rb + - name: Downloads dependencies data run: | python scripts/get_data.py qlib_data --name qlib_data_simple --target_dir ~/.qlib/qlib_data/cn_data --interval 1d --region cn diff --git a/.github/workflows/test_qlib_from_source.yml b/.github/workflows/test_qlib_from_source.yml index 2758e6fad1..f71cc800fc 100644 --- a/.github/workflows/test_qlib_from_source.yml +++ b/.github/workflows/test_qlib_from_source.yml @@ -34,7 +34,6 @@ jobs: if: ${{ matrix.os == 'macos-11' || matrix.os == 'macos-latest' }} run: | python -m pip install torch torchvision torchaudio - brew install libomp # lightgbm dependencies - name: Installing pytorch for ubuntu if: ${{ matrix.os == 'ubuntu-18.04' || matrix.os == 'ubuntu-20.04' }} @@ -126,6 +125,17 @@ jobs: azcopy copy https://qlibpublic.blob.core.windows.net/data/rl /tmp/qlibpublic/data --recursive mv /tmp/qlibpublic/data tests/.data + - name: Install Lightgbm for MacOS + if: ${{ matrix.os == 'macos-11' || matrix.os == 'macos-latest' }} + run: | + /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Microsoft/qlib/main/.github/brew_install.sh)" + HOMEBREW_NO_AUTO_UPDATE=1 brew install lightgbm + # FIX MacOS error: Segmentation fault + # reference: https://github.com/microsoft/LightGBM/issues/4229 + wget https://raw.githubusercontent.com/Homebrew/homebrew-core/fb8323f2b170bd4ae97e1bac9bf3e2983af3fdb0/Formula/libomp.rb + brew unlink libomp + brew install libomp.rb + - name: Test workflow by config (install from source) run: | # Version 0.52.0 of numba must be installed manually in CI, otherwise it will cause incompatibility with the latest version of numpy. diff --git a/.github/workflows/test_qlib_from_source_slow.yml b/.github/workflows/test_qlib_from_source_slow.yml index 5d97b20381..e087ac7e21 100644 --- a/.github/workflows/test_qlib_from_source_slow.yml +++ b/.github/workflows/test_qlib_from_source_slow.yml @@ -47,6 +47,10 @@ jobs: brew install libomp.rb - name: Unit tests with Pytest - run: | - cd tests - python -m pytest . -m "slow" --durations=0 + uses: nick-fields/retry@v2 + with: + timeout_minutes: 120 + max_attempts: 3 + command: | + cd tests + python -m pytest . -m "slow" --durations=0