mirror of
https://github.com/microsoft/qlib.git
synced 2026-07-11 14:56:55 +08:00
Update CI and script
This commit is contained in:
80
.github/workflows/test.yml
vendored
80
.github/workflows/test.yml
vendored
@@ -23,8 +23,57 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
python-version: ${{ matrix.python-version }}
|
python-version: ${{ matrix.python-version }}
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Lint with Black
|
||||||
run: |
|
run: |
|
||||||
|
cd ..
|
||||||
|
if [ "$RUNNER_OS" == "Windows" ]; then
|
||||||
|
$CONDA\\python.exe -m pip install black
|
||||||
|
$CONDA\\python.exe -m black qlib -l 120 --check --diff
|
||||||
|
else
|
||||||
|
sudo $CONDA/bin/python -m pip install black
|
||||||
|
$CONDA/bin/python -m black qlib -l 120 --check --diff
|
||||||
|
fi
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
# Test Qlib installed with pip
|
||||||
|
- name: Install Qlib with pip
|
||||||
|
run: |
|
||||||
|
if [ "$RUNNER_OS" == "Windows" ]; then
|
||||||
|
$CONDA\\python.exe -m pip install pyqlib --ignore-installed ruamel.yaml --user
|
||||||
|
else
|
||||||
|
sudo $CONDA/bin/python -m pip install pyqlib --ignore-installed ruamel.yaml
|
||||||
|
fi
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Install Lightgbm for MacOS
|
||||||
|
if: runner.os == 'macOS'
|
||||||
|
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
|
||||||
|
|
||||||
|
- name: Test data downloads
|
||||||
|
run: |
|
||||||
|
if [ "$RUNNER_OS" == "Windows" ]; then
|
||||||
|
$CONDA\\python.exe scripts/get_data.py qlib_data --target_dir ~/.qlib/qlib_data/cn_data --interval 1d --region cn
|
||||||
|
else
|
||||||
|
$CONDA/bin/python scripts/get_data.py qlib_data --target_dir ~/.qlib/qlib_data/cn_data --interval 1d --region cn
|
||||||
|
fi
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Test workflow by config (install from pip)
|
||||||
|
run: |
|
||||||
|
if [ "$RUNNER_OS" == "Windows" ]; then
|
||||||
|
$CONDA\\python.exe qlib\\workflow\\cli.py examples\\benchmarks\\LightGBM\\workflow_config_lightgbm_Alpha158.yaml
|
||||||
|
$CONDA\\python.exe -m pip uninstall -y pyqlib
|
||||||
|
else
|
||||||
|
$CONDA/bin/python qlib/workflow/cli.py examples/benchmarks/LightGBM/workflow_config_lightgbm_Alpha158.yaml
|
||||||
|
sudo $CONDA/bin/python -m pip uninstall -y pyqlib
|
||||||
|
fi
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
# Test Qlib installed from source
|
||||||
|
- name: Install Qlib from source
|
||||||
|
run: |
|
||||||
if [ "$RUNNER_OS" == "Windows" ]; then
|
if [ "$RUNNER_OS" == "Windows" ]; then
|
||||||
$CONDA\\python.exe -m pip install --upgrade cython
|
$CONDA\\python.exe -m pip install --upgrade cython
|
||||||
$CONDA\\python.exe -m pip install numpy jupyter jupyter_contrib_nbextensions
|
$CONDA\\python.exe -m pip install numpy jupyter jupyter_contrib_nbextensions
|
||||||
@@ -38,12 +87,6 @@ jobs:
|
|||||||
fi
|
fi
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
- name: Install Lightgbm for MacOS
|
|
||||||
if: runner.os == 'macOS'
|
|
||||||
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
|
|
||||||
|
|
||||||
- name: Install test dependencies
|
- name: Install test dependencies
|
||||||
run: |
|
run: |
|
||||||
if [ "$RUNNER_OS" == "Windows" ]; then
|
if [ "$RUNNER_OS" == "Windows" ]; then
|
||||||
@@ -55,16 +98,6 @@ jobs:
|
|||||||
fi
|
fi
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
- name: Lint with Black
|
|
||||||
run: |
|
|
||||||
cd ..
|
|
||||||
if [ "$RUNNER_OS" == "Windows" ]; then
|
|
||||||
$CONDA\\python.exe -m black qlib -l 120 --check --diff
|
|
||||||
else
|
|
||||||
$CONDA/bin/python -m black qlib -l 120 --check --diff
|
|
||||||
fi
|
|
||||||
shell: bash
|
|
||||||
|
|
||||||
- name: Unit tests with Pytest
|
- name: Unit tests with Pytest
|
||||||
run: |
|
run: |
|
||||||
cd tests
|
cd tests
|
||||||
@@ -75,16 +108,7 @@ jobs:
|
|||||||
fi
|
fi
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
- name: Test data downloads
|
- name: Test workflow by config (install from source)
|
||||||
run: |
|
|
||||||
if [ "$RUNNER_OS" == "Windows" ]; then
|
|
||||||
$CONDA\\python.exe scripts/get_data.py qlib_data --target_dir ~/.qlib/qlib_data/cn_data --interval 1d --region cn
|
|
||||||
else
|
|
||||||
$CONDA/bin/python scripts/get_data.py qlib_data --target_dir ~/.qlib/qlib_data/cn_data --interval 1d --region cn
|
|
||||||
fi
|
|
||||||
shell: bash
|
|
||||||
|
|
||||||
- name: Test workflow by config
|
|
||||||
run: |
|
run: |
|
||||||
if [ "$RUNNER_OS" == "Windows" ]; then
|
if [ "$RUNNER_OS" == "Windows" ]; then
|
||||||
$CONDA\\python.exe qlib\\workflow\\cli.py examples\\benchmarks\\LightGBM\\workflow_config_lightgbm_Alpha158.yaml
|
$CONDA\\python.exe qlib\\workflow\\cli.py examples\\benchmarks\\LightGBM\\workflow_config_lightgbm_Alpha158.yaml
|
||||||
|
|||||||
@@ -68,10 +68,9 @@ def only_allow_defined_args(function_to_decorate):
|
|||||||
def handler(signum, frame):
|
def handler(signum, frame):
|
||||||
os.system("kill -9 %d" % os.getpid())
|
os.system("kill -9 %d" % os.getpid())
|
||||||
|
|
||||||
|
|
||||||
signal.signal(signal.SIGTSTP, handler)
|
|
||||||
signal.signal(signal.SIGINT, handler)
|
signal.signal(signal.SIGINT, handler)
|
||||||
|
|
||||||
|
|
||||||
# function to calculate the mean and std of a list in the results dictionary
|
# function to calculate the mean and std of a list in the results dictionary
|
||||||
def cal_mean_std(results) -> dict:
|
def cal_mean_std(results) -> dict:
|
||||||
mean_std = dict()
|
mean_std = dict()
|
||||||
|
|||||||
Reference in New Issue
Block a user