forked from mlflow/mlflow
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge remote-tracking branch 'upstream/master'
- Loading branch information
Showing
601 changed files
with
63,069 additions
and
29,096 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,22 @@ | ||
.git | ||
mlruns | ||
docs | ||
apidocs | ||
mlflow.Rcheck | ||
outputs | ||
examples | ||
travis | ||
tests | ||
node_modules | ||
coverage | ||
build | ||
npm-debug.log* | ||
yarn-debug.log* | ||
yarn-error.log* | ||
__pycache__ | ||
.* | ||
~* | ||
*.swp | ||
*.pyc | ||
|
||
|
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
## What changes are proposed in this pull request? | ||
|
||
(Please fill in changes proposed in this fix) | ||
|
||
## How is this patch tested? | ||
|
||
(Details) | ||
|
||
## Release Notes | ||
|
||
### Is this a user-facing change? | ||
|
||
- [ ] No. You can skip the rest of this section. | ||
- [ ] Yes. Give a description of this change to be included in the release notes for MLflow users. | ||
|
||
(Details in 1-2 sentences. You can just refer to another PR with a description if this PR is part of a larger change.) | ||
|
||
### What component(s) does this PR affect? | ||
|
||
- [ ] UI | ||
- [ ] CLI | ||
- [ ] API | ||
- [ ] REST-API | ||
- [ ] Examples | ||
- [ ] Docs | ||
- [ ] Tracking | ||
- [ ] Projects | ||
- [ ] Artifacts | ||
- [ ] Models | ||
- [ ] Scoring | ||
- [ ] Serving | ||
- [ ] R | ||
- [ ] Java | ||
- [ ] Python | ||
|
||
### How should the PR be classified in the release notes? Choose one: | ||
|
||
- [ ] `rn/breaking-change` - The PR will be mentioned in the "Breaking Changes" section | ||
- [ ] `rn/none` - No description will be included. The PR will be mentioned only by the PR number in the "Small Bugfixes and Documentation Updates" section | ||
- [ ] `rn/feature` - A new user-facing feature worth mentioning in the release notes | ||
- [ ] `rn/bug-fix` - A user-facing bug fix worth mentioning in the release notes | ||
- [ ] `rn/documentation` - A user-facing documentation change worth mentioning in the release notes |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,104 +1,110 @@ | ||
sudo: true | ||
language: python | ||
|
||
dist: trusty | ||
|
||
services: | ||
- docker | ||
|
||
matrix: | ||
include: | ||
- python: 2.7 | ||
- python: 3.6 | ||
- stage: small | ||
- language: python | ||
name: "Lint (Python 3.6)" | ||
python: 3.6 | ||
install: | ||
- INSTALL_SMALL_PYTHON_DEPS=true INSTALL_LARGE_PYTHON_DEPS=true source ./travis/install-common-deps.sh | ||
- pip install -r ./travis/lint-requirements.txt | ||
script: | ||
- ./lint.sh | ||
- language: python | ||
python: 2.7 | ||
install: | ||
- INSTALL_SMALL_PYTHON_DEPS=true source ./travis/install-common-deps.sh | ||
script: | ||
- ./travis/run-small-python-tests.sh | ||
- os: windows | ||
name: "Windows" | ||
language: sh | ||
before_install: | ||
- cinst -y python3 | ||
install: | ||
- export PATH="/c/Python37:/c/Python37/Scripts:$PATH" | ||
- pip install -r dev-requirements.txt | ||
- pip install -r travis/small-requirements.txt | ||
- pip install -e . | ||
script: | ||
- pytest --verbose --ignore=tests/h2o --ignore=tests/keras --ignore=tests/pytorch --ignore=tests/pyfunc --ignore=tests/sagemaker --ignore=tests/sklearn --ignore=tests/spark --ignore=tests/tensorflow --ignore=tests/autologging --ignore tests/azureml --ignore tests/onnx --ignore tests/projects tests | ||
- language: r | ||
dist: trusty | ||
name: "R" | ||
cache: packages | ||
before_install: | ||
# cache packages dramatically decreases build time, but it must not include mlflow | ||
- rm -rf /home/travis/R/Library/mlflow | ||
- export NOT_CRAN=true | ||
- cd mlflow/R/mlflow | ||
- Rscript -e 'install.packages("devtools")' | ||
- Rscript -e 'devtools::install_deps(dependencies = TRUE)' | ||
- Rscript -e 'devtools::install_deps(dependencies = TRUE, upgrade = "always")' | ||
- cd ../../.. | ||
install: | ||
- source ./travis/install-common-deps.sh | ||
script: | ||
- cd mlflow/R/mlflow | ||
# Building the package here populates the /home/travis/R/Library cache, | ||
# and is also used when python forks into R (e.g., rfunc via models CLI). | ||
- R CMD build . | ||
- R CMD check --no-build-vignettes --no-manual --no-tests mlflow*tar.gz | ||
- cd tests | ||
- export LINTR_COMMENT_BOT=false | ||
- cd tests | ||
- Rscript ../.travis.R | ||
after_success: | ||
- export COVR_RUNNING=true | ||
- Rscript -e 'covr::codecov()' | ||
after_failure: | ||
- "[ -r /home/travis/build/mlflow/mlflow/mlflow/R/mlflow/mlflow.Rcheck/00check.log ] && cat /home/travis/build/mlflow/mlflow/mlflow/R/mlflow/mlflow.Rcheck/00check.log" | ||
- language: java | ||
name: "Java" | ||
install: | ||
- source ./travis/install-common-deps.sh | ||
script: | ||
- cd mlflow/java | ||
- mvn clean package -q | ||
- language: node_js | ||
node_js: | ||
- "node" # Use latest NodeJS: https://docs.travis-ci.com/user/languages/javascript-with-nodejs/#specifying-nodejs-versions | ||
install: | ||
name: "Node.js" | ||
script: | ||
- cd mlflow/server/js | ||
- npm i | ||
- ./lint.sh | ||
- npm test -- --coverage | ||
- stage: large | ||
- language: python | ||
python: 2.7 | ||
install: | ||
- INSTALL_LARGE_PYTHON_DEPS=true source ./travis/install-common-deps.sh | ||
script: | ||
- ./travis/run-large-python-tests.sh | ||
|
||
# Travis runs an extra top-level job for each build stage - depending on the build stage, we either | ||
# run small or large Python tests below. | ||
install: | ||
- sudo mkdir -p /travis-install | ||
- sudo chown travis /travis-install | ||
# (The conda installation steps below are taken from http://conda.pydata.org/docs/travis.html) | ||
# We do this conditionally because it saves us some downloading if the | ||
# version is the same. | ||
- if [[ "$TRAVIS_PYTHON_VERSION" == "2.7" ]]; then | ||
wget https://repo.continuum.io/miniconda/Miniconda2-latest-Linux-x86_64.sh -O /travis-install/miniconda.sh; | ||
- echo "Build stage $TRAVIS_BUILD_STAGE_NAME" | ||
- if [[ "$TRAVIS_OS_NAME" == "windows" ]]; then | ||
echo "skipping this step on windows."; | ||
elif [[ "$TRAVIS_BUILD_STAGE_NAME" == "Small" ]]; then | ||
INSTALL_SMALL_PYTHON_DEPS=true source ./travis/install-common-deps.sh && | ||
wget https://github.com/google/protobuf/releases/download/v3.6.0/protoc-3.6.0-linux-x86_64.zip -O /travis-install/protoc.zip && | ||
sudo unzip /travis-install/protoc.zip -d /usr; | ||
else | ||
wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O /travis-install/miniconda.sh; | ||
INSTALL_LARGE_PYTHON_DEPS=true source ./travis/install-common-deps.sh; | ||
fi | ||
|
||
- bash /travis-install/miniconda.sh -b -p $HOME/miniconda | ||
- export PATH="$HOME/miniconda/bin:$PATH" | ||
- hash -r | ||
- conda config --set always_yes yes --set changeps1 no | ||
# Useful for debugging any issues with conda | ||
- conda info -a | ||
- conda create -q -n test-environment python=$TRAVIS_PYTHON_VERSION | ||
- source activate test-environment | ||
- python --version | ||
- pip install --upgrade pip | ||
# Install Python test dependencies only if we're running Python tests | ||
- if [[ ! -z "$TRAVIS_PYTHON_VERSION" ]]; then | ||
travis_wait pip install -r dev-requirements.txt -q; | ||
travis_wait pip install -r test-requirements.txt -q; | ||
fi | ||
- pip install . | ||
- export MLFLOW_HOME=$(pwd) | ||
# Remove boto config present in Travis VMs (https://github.com/travis-ci/travis-ci/issues/7940) | ||
- sudo rm -f /etc/boto.cfg | ||
# Install protoc | ||
- wget https://github.com/google/protobuf/releases/download/v3.6.0/protoc-3.6.0-linux-x86_64.zip -O /travis-install/protoc.zip | ||
- sudo unzip /travis-install/protoc.zip -d /usr | ||
script: | ||
- ./lint.sh | ||
- sudo ./test-generate-protos.sh | ||
- pip list | ||
- which mlflow | ||
- echo $MLFLOW_HOME | ||
- SAGEMAKER_OUT=$(mktemp) | ||
- if mlflow sagemaker build-and-push-container --no-push --mlflow-home . > $SAGEMAKER_OUT 2>&1; then | ||
echo "Sagemaker container build succeeded."; | ||
- if [[ "$TRAVIS_OS_NAME" == "windows" ]]; then | ||
echo "skipping this step on windows."; | ||
elif [[ "$TRAVIS_BUILD_STAGE_NAME" == "Small" ]]; then | ||
./travis/run-small-python-tests.sh && ./test-generate-protos.sh; | ||
else | ||
echo "Sagemaker container build failed, output:"; | ||
cat $SAGEMAKER_OUT; | ||
./travis/run-large-python-tests.sh; | ||
fi | ||
# Run tests that don't leverage specific ML frameworks | ||
- pytest --cov=mlflow --verbose --large --ignore=tests/h2o --ignore=tests/keras | ||
--ignore=tests/pytorch --ignore=tests/pyfunc--ignore=tests/sagemaker --ignore=tests/sklearn | ||
--ignore=tests/spark --ignore=tests/tensorflow | ||
# Run ML framework tests in their own Python processes. TODO: find a better method of isolating | ||
# tests. | ||
- pytest --verbose tests/h2o --large | ||
- pytest --verbose tests/keras --large | ||
- pytest --verbose tests/pytorch --large | ||
- pytest --verbose tests/pyfunc --large | ||
- pytest --verbose tests/sagemaker --large | ||
- pytest --verbose tests/sklearn --large | ||
- pytest --verbose tests/spark --large | ||
- pytest --verbose tests/tensorflow --large |
Oops, something went wrong.