Upload bazel test logs to S3 (#9884)

This commit is contained in:
Simon Mo
2020-08-10 14:26:31 -07:00
committed by GitHub
parent 856d4a0533
commit df676bc9aa
3 changed files with 97 additions and 28 deletions
+48 -28
View File
@@ -43,7 +43,7 @@ matrix:
- . ./ci/travis/ci.sh build
script:
# Run all C++ unit tests with ASAN enabled. ASAN adds too much overhead to run Python tests.
- bazel test --config=ci --build_tests_only -- //:all
- bazel test --config=ci $(./scripts/bazel_export_options) --build_tests_only -- //:all
- os: osx
osx_image: xcode7
@@ -83,7 +83,7 @@ matrix:
- . ./ci/travis/ci.sh build
script:
# Streaming cpp test.
- if [ $RAY_CI_STREAMING_CPP_AFFECTED == "1" ]; then bazel test --config=ci --test_output=all //streaming:all && bash streaming/src/test/run_streaming_queue_test.sh; fi
- if [ $RAY_CI_STREAMING_CPP_AFFECTED == "1" ]; then bazel test --config=ci $(./scripts/bazel_export_options) --test_output=all //streaming:all && bash streaming/src/test/run_streaming_queue_test.sh; fi
- if [ $RAY_CI_STREAMING_PYTHON_AFFECTED == "1" ]; then python -m pytest -v --durations=5 --timeout=300 streaming/python/tests/; fi
- if [ $RAY_CI_STREAMING_JAVA_AFFECTED == "1" ]; then ./streaming/java/test.sh; fi
@@ -146,7 +146,7 @@ matrix:
before_script:
- . ./ci/travis/ci.sh build
script:
- ./ci/keep_alive bazel test --config=ci --build_tests_only --test_tag_filters=learning_tests_tf rllib/...
- ./ci/keep_alive bazel test --config=ci $(./scripts/bazel_export_options) --build_tests_only --test_tag_filters=learning_tests_tf rllib/...
# RLlib: Learning tests with tf=1.x (from rllib/tuned_examples/*.yaml).
# Requested by Edi (MS): Test all learning capabilities with tf1.x
@@ -163,7 +163,7 @@ matrix:
before_script:
- . ./ci/travis/ci.sh build
script:
- ./ci/keep_alive bazel test --config=ci --build_tests_only --test_tag_filters=learning_tests_tf rllib/...
- ./ci/keep_alive bazel test --config=ci $(./scripts/bazel_export_options) --build_tests_only --test_tag_filters=learning_tests_tf rllib/...
# RLlib: Learning tests with torch (from rllib/tuned_examples/*.yaml).
- os: linux
@@ -179,7 +179,7 @@ matrix:
before_script:
- . ./ci/travis/ci.sh build
script:
- ./ci/keep_alive bazel test --config=ci --build_tests_only --test_tag_filters=learning_tests_torch rllib/...
- ./ci/keep_alive bazel test --config=ci $(./scripts/bazel_export_options) --build_tests_only --test_tag_filters=learning_tests_torch rllib/...
# RLlib: Quick Agent train.py runs (compilation & running, no(!) learning).
# Agent single tests (compilation, loss-funcs, etc..).
@@ -196,10 +196,10 @@ matrix:
before_script:
- . ./ci/travis/ci.sh build
script:
- ./ci/keep_alive bazel test --config=ci --build_tests_only --test_tag_filters=quick_train rllib/...
- ./ci/keep_alive bazel test --config=ci $(./scripts/bazel_export_options) --build_tests_only --test_tag_filters=quick_train rllib/...
# Test everything that does not have any of the "main" labels:
# "learning_tests|quick_train|examples|tests_dir".
- ./ci/keep_alive bazel test --config=ci --build_tests_only --test_tag_filters=-learning_tests_tf,-learning_tests_torch,-quick_train,-examples,-tests_dir rllib/...
- ./ci/keep_alive bazel test --config=ci $(./scripts/bazel_export_options) --build_tests_only --test_tag_filters=-learning_tests_tf,-learning_tests_torch,-quick_train,-examples,-tests_dir rllib/...
# RLlib: Everything in rllib/examples/ directory.
- os: linux
@@ -215,10 +215,10 @@ matrix:
before_script:
- . ./ci/travis/ci.sh build
script:
- ./ci/keep_alive bazel test --config=ci --build_tests_only --test_tag_filters=examples_A,examples_B rllib/...
- ./ci/keep_alive bazel test --config=ci --build_tests_only --test_tag_filters=examples_C,examples_D rllib/...
- ./ci/keep_alive bazel test --config=ci --build_tests_only --test_tag_filters=examples_E,examples_F,examples_G,examples_H,examples_I,examples_J,examples_K,examples_L,examples_M,examples_N,examples_O,examples_P rllib/...
- ./ci/keep_alive bazel test --config=ci --build_tests_only --test_tag_filters=examples_Q,examples_R,examples_S,examples_T,examples_U,examples_V,examples_W,examples_X,examples_Y,examples_Z rllib/...
- ./ci/keep_alive bazel test --config=ci $(./scripts/bazel_export_options) --build_tests_only --test_tag_filters=examples_A,examples_B rllib/...
- ./ci/keep_alive bazel test --config=ci $(./scripts/bazel_export_options) --build_tests_only --test_tag_filters=examples_C,examples_D rllib/...
- ./ci/keep_alive bazel test --config=ci $(./scripts/bazel_export_options) --build_tests_only --test_tag_filters=examples_E,examples_F,examples_G,examples_H,examples_I,examples_J,examples_K,examples_L,examples_M,examples_N,examples_O,examples_P rllib/...
- ./ci/keep_alive bazel test --config=ci $(./scripts/bazel_export_options) --build_tests_only --test_tag_filters=examples_Q,examples_R,examples_S,examples_T,examples_U,examples_V,examples_W,examples_X,examples_Y,examples_Z rllib/...
# RLlib: tests_dir: Everything in rllib/tests/ directory (A-L).
- os: linux
@@ -234,7 +234,7 @@ matrix:
before_script:
- . ./ci/travis/ci.sh build
script:
- ./ci/keep_alive bazel test --config=ci --build_tests_only --test_tag_filters=tests_dir_A,tests_dir_B,tests_dir_C,tests_dir_D,tests_dir_E,tests_dir_F,tests_dir_G,tests_dir_H,tests_dir_I,tests_dir_J,tests_dir_K,tests_dir_L rllib/...
- ./ci/keep_alive bazel test --config=ci $(./scripts/bazel_export_options) --build_tests_only --test_tag_filters=tests_dir_A,tests_dir_B,tests_dir_C,tests_dir_D,tests_dir_E,tests_dir_F,tests_dir_G,tests_dir_H,tests_dir_I,tests_dir_J,tests_dir_K,tests_dir_L rllib/...
# RLlib: tests_dir: Everything in rllib/tests/ directory (M-Z).
- os: linux
@@ -250,7 +250,7 @@ matrix:
before_script:
- . ./ci/travis/ci.sh build
script:
- ./ci/keep_alive bazel test --config=ci --build_tests_only --test_tag_filters=tests_dir_M,tests_dir_N,tests_dir_O,tests_dir_P,tests_dir_Q,tests_dir_R,tests_dir_S,tests_dir_T,tests_dir_U,tests_dir_V,tests_dir_W,tests_dir_X,tests_dir_Y,tests_dir_Z rllib/...
- ./ci/keep_alive bazel test --config=ci $(./scripts/bazel_export_options) --build_tests_only --test_tag_filters=tests_dir_M,tests_dir_N,tests_dir_O,tests_dir_P,tests_dir_Q,tests_dir_R,tests_dir_S,tests_dir_T,tests_dir_U,tests_dir_V,tests_dir_W,tests_dir_X,tests_dir_Y,tests_dir_Z rllib/...
# Tune: Tests and examples.
@@ -267,11 +267,11 @@ matrix:
before_script:
- . ./ci/travis/ci.sh build
script:
- ./ci/keep_alive bazel test --config=ci --test_tag_filters=-jenkins_only,-example python/ray/tune/...
- ./ci/keep_alive bazel test --config=ci --build_tests_only --test_tag_filters=example,-tf,-pytorch,-py37,-flaky python/ray/tune/...
- ./ci/keep_alive bazel test --config=ci --build_tests_only --test_tag_filters=tf,-pytorch,-py37,-flaky python/ray/tune/...
- ./ci/keep_alive bazel test --config=ci --build_tests_only --test_tag_filters=-tf,pytorch,-py37,-flaky python/ray/tune/...
- ./ci/keep_alive bazel test --config=ci --build_tests_only --test_tag_filters=-py37,flaky python/ray/tune/...
- ./ci/keep_alive bazel test --config=ci $(./scripts/bazel_export_options) --test_tag_filters=-jenkins_only,-example python/ray/tune/...
- ./ci/keep_alive bazel test --config=ci $(./scripts/bazel_export_options) --build_tests_only --test_tag_filters=example,-tf,-pytorch,-py37,-flaky python/ray/tune/...
- ./ci/keep_alive bazel test --config=ci $(./scripts/bazel_export_options) --build_tests_only --test_tag_filters=tf,-pytorch,-py37,-flaky python/ray/tune/...
- ./ci/keep_alive bazel test --config=ci $(./scripts/bazel_export_options) --build_tests_only --test_tag_filters=-tf,pytorch,-py37,-flaky python/ray/tune/...
- ./ci/keep_alive bazel test --config=ci $(./scripts/bazel_export_options) --build_tests_only --test_tag_filters=-py37,flaky python/ray/tune/...
# SGD: Tests and examples.
- os: linux
@@ -288,9 +288,9 @@ matrix:
- . ./ci/travis/ci.sh build
script:
# No such tests at the moment:
# - ./ci/keep_alive bazel test --config=ci --build_tests_only --test_tag_filters=-tf,-pytorch,-py37 python/ray/util/sgd/...
- ./ci/keep_alive bazel test --config=ci --build_tests_only --test_tag_filters=tf,-pytorch,-py37 python/ray/util/sgd/...
- ./ci/keep_alive bazel test --config=ci --build_tests_only --test_tag_filters=-tf,pytorch,-py37 python/ray/util/sgd/...
# - ./ci/keep_alive bazel test --config=ci $(./scripts/bazel_export_options) --build_tests_only --test_tag_filters=-tf,-pytorch,-py37 python/ray/util/sgd/...
- ./ci/keep_alive bazel test --config=ci $(./scripts/bazel_export_options) --build_tests_only --test_tag_filters=tf,-pytorch,-py37 python/ray/util/sgd/...
- ./ci/keep_alive bazel test --config=ci $(./scripts/bazel_export_options) --build_tests_only --test_tag_filters=-tf,pytorch,-py37 python/ray/util/sgd/...
# Docs: Tests and examples.
- os: linux
@@ -306,9 +306,9 @@ matrix:
before_script:
- . ./ci/travis/ci.sh build
script:
- ./ci/keep_alive bazel test --config=ci --build_tests_only --test_tag_filters=-tf,-pytorch,-py37 doc/...
- ./ci/keep_alive bazel test --config=ci --build_tests_only --test_tag_filters=tf,-pytorch,-py37 doc/...
- ./ci/keep_alive bazel test --config=ci --build_tests_only --test_tag_filters=-tf,pytorch,-py37 doc/...
- ./ci/keep_alive bazel test --config=ci $(./scripts/bazel_export_options) --build_tests_only --test_tag_filters=-tf,-pytorch,-py37 doc/...
- ./ci/keep_alive bazel test --config=ci $(./scripts/bazel_export_options) --build_tests_only --test_tag_filters=tf,-pytorch,-py37 doc/...
- ./ci/keep_alive bazel test --config=ci $(./scripts/bazel_export_options) --build_tests_only --test_tag_filters=-tf,pytorch,-py37 doc/...
# Tune/SGD: Python >= 3.7 tests and examples.
- os: linux
@@ -323,7 +323,7 @@ matrix:
before_script:
- . ./ci/travis/ci.sh build
script:
- ./ci/keep_alive bazel test --config=ci --build_tests_only --test_tag_filters=py37 python/ray/tune/...
- ./ci/keep_alive bazel test --config=ci $(./scripts/bazel_export_options) --build_tests_only --test_tag_filters=py37 python/ray/tune/...
# There are no python 3.7 tests for RaySGD at the moment
# - ./ci/keep_alive bazel test --config=ci --build_tests_only --test_tag_filters=py37 python/ray/util/sgd/...
# - ./ci/keep_alive bazel test --config=ci --build_tests_only --test_tag_filters=py37 doc/...
@@ -345,10 +345,10 @@ script:
- ./ci/suppress_output bash src/ray/test/run_object_manager_tests.sh
# cc bazel tests (w/o RLlib)
- ./ci/suppress_output bazel test --config=ci --build_tests_only -- //:all -rllib/...
- ./ci/suppress_output bazel test --config=ci $(./scripts/bazel_export_options) --build_tests_only -- //:all -rllib/...
# ray serve tests
- if [ $RAY_CI_SERVE_AFFECTED == "1" ]; then ./ci/keep_alive bazel test --config=ci --test_tag_filters=-jenkins_only python/ray/serve/...; fi
- if [ $RAY_CI_SERVE_AFFECTED == "1" ]; then ./ci/keep_alive bazel test --config=ci $(./scripts/bazel_export_options) --test_tag_filters=-jenkins_only python/ray/serve/...; fi
# ray dashboard tests
- if [ "$RAY_CI_DASHBOARD_AFFECTED" == "1" ]; then ./ci/keep_alive bazel test python/ray/dashboard/...; fi
@@ -361,7 +361,7 @@ script:
- mypy --strict ./ci/travis/check_typing_bad.py && return 1 || return 0
# bazel python tests. This should be run last to keep its logs at the end of travis logs.
- if [ $RAY_CI_PYTHON_AFFECTED == "1" ]; then ./ci/keep_alive bazel test --config=ci --test_tag_filters=-jenkins_only python/ray/tests/...; fi
- if [ $RAY_CI_PYTHON_AFFECTED == "1" ]; then ./ci/keep_alive bazel test --config=ci $(./scripts/bazel_export_options) --test_tag_filters=-jenkins_only python/ray/tests/...; fi
# NO MORE TESTS BELOW, keep them above.
deploy:
@@ -430,6 +430,26 @@ deploy:
branch: master
condition: $MULTIPLATFORM_JARS = 1 || $MAC_JARS = 1
- provider: script
edge: true # This supposedly opts in to deploy v2.
script: ./ci/get_build_info.py > /tmp/bazel_event_logs/metadata.json
skip_cleanup: true
# Upload bazel event logs to s3
- provider: s3
edge: true
access_key_id: AKIAQQPDA73RF7PSLH5N
secret_access_key:
secure: ai2YP/R3G86HuARvaMKG6tjzei5EqL/TR5pMDuT5JKjpWt4YFcvdAXcN4F2EEvKdJ+gwVEbACa37M5fJ3YMlforCrk/YiOQI15Ixjo9NhNonLp95NhCDKgKwQIgXXKBzk2ylXUm8FbLqnW6MRJyOb7ioufRLEtpy35XcYCyzqeDZgdhn9eIsP4O2W17ws3WqKvbbMFs2rTnDqlRYqDBO+dCGcaWdaKdX8VDjoCMkko7Yh8Mh1zne3KFHZvcknGTI3DggJMtaY77Fx3FfJSO2Gp7R8ARWGWTJqNkK/H0YGnlnJ84Za15qeozkvP5Ct9SvRQf0Pg96oj73IevVrs0lLjFfCkp+fC+gVYAXfMhDfXO7rVRUyXoXrsFcEBbGNGzu3awCsZIkECD0JVadsV4ypxUCmygd2+3aHgRY1+crwbnBvNmHk+qyoN82TH1FmtOP4FyvF3/OJaL0Cn9KVoeoRW3yH2SLbyE/yNDHwsADMJEFVXv4VuHctdRoAPujt+mxU8Jz0AzJd2CqUPXePriWTyRqPBDi3mOhAu0KyX+G/r7o7C+ZIUU1bTXRHtKQqFuWq9KF43H80G7EnN1Bwq1wXpGQjzGH6SdflLRC8uf2vCUeD9Xgd/E2b0wJM07PfQ0aPuKUoZfJZECuA7o+5adB7mSfVg+brF0xvl67DIp2lDE=
bucket: ray-travis-log
# acl: public_read # This data won't be used externally. We can always turn on public_read later.
region: us-west-2
local_dir: /tmp/bazel_event_logs
upload-dir: "bazel_events/$TRAVIS_BRANCH/$TRAVIS_COMMIT/$TRAVIS_JOB_ID"
on:
repo: ray-project/ray
branch: master
- provider: script
edge: true # This supposedly opts in to deploy v2.
script: ./ci/keep_alive bash $TRAVIS_BUILD_DIR/ci/travis/build-docker-images.sh
+4
View File
@@ -0,0 +1,4 @@
#!/usr/bin/env bash
mkdir -p /tmp/bazel_event_logs
echo "--build_event_json_file $(mktemp /tmp/bazel_event_logs/bazel_log.XXXXX)"
+45
View File
@@ -0,0 +1,45 @@
#!/usr/bin/env python
"""
This script gathers build metadata from Travis environment variables and Travis
APIs.
Usage:
$ python get_build_info.py
{
"json": ["containing", "build", "metadata"]
}
"""
import os
import json
import requests
def get_build_env():
keys = [
"TRAVIS_BRANCH", "TRAVIS_BUILD_ID", "TRAVIS_BUILD_NUMBER",
"TRAVIS_BUILD_WEB_URL", "TRAVIS_COMMIT", "TRAVIS_COMMIT_MESSAGE",
"TRAVIS_DIST", "TRAVIS_JOB_ID", "TRAVIS_JOB_NUMBER",
"TRAVIS_JOB_WEB_URL", "TRAVIS_OS_NAME"
]
return {key: os.environ.get(key) for key in keys}
def get_build_config():
url = "https://api.travis-ci.com/job/{job_id}?include=job.config"
url = url.format(job_id=os.environ["TRAVIS_JOB_ID"])
resp = requests.get(url, headers={"Travis-API-Version": "3"})
return resp.json()
if __name__ == "__main__":
build_env = get_build_env()
build_config = get_build_config()
print(
json.dumps(
{
"build_env": build_env,
"build_config": build_config
}, indent=2))