This is an automated email from the ASF dual-hosted git repository. xiangfu pushed a commit to branch adding_github_actions in repository https://gitbox.apache.org/repos/asf/incubator-pinot.git
commit 0950e41e87e7603db91dce7cd2940ead8075bfcf Author: Xiang Fu <[email protected]> AuthorDate: Sat Jun 6 17:37:14 2020 -0700 Adding github actions for pinot tests --- .github/workflows/pinot_tests.yml | 55 ++++++++++++++++++++++ .github/workflows/scripts/.pinot_test.sh | 79 ++++++++++++++++++++++++++++++++ 2 files changed, 134 insertions(+) diff --git a/.github/workflows/pinot_tests.yml b/.github/workflows/pinot_tests.yml new file mode 100644 index 0000000..a31f21a --- /dev/null +++ b/.github/workflows/pinot_tests.yml @@ -0,0 +1,55 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +name: Pinot Tests + +on: + push: + branches: [ master, adding_github_actions ] + pull_request: + branches: [ master ] + +jobs: + unit-test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Set up JDK 1.8 + uses: actions/setup-java@v1 + with: + java-version: 1.8 + - name: Unit Test + env: + RUN_INTEGRATION_TESTS: false + GITHUB_CONTEXT: ${{ toJson(github) }} + run: .github/workflows/scripts/.pinot_test.sh + + integration-test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Set up JDK 1.8 + uses: actions/setup-java@v1 + with: + java-version: 1.8 + - name: Integration Test + env: + RUN_INTEGRATION_TESTS: true + GITHUB_CONTEXT: ${{ toJson(github) }} + run: .github/workflows/scripts/.pinot_test.sh diff --git a/.github/workflows/scripts/.pinot_test.sh b/.github/workflows/scripts/.pinot_test.sh new file mode 100755 index 0000000..4ec09a4 --- /dev/null +++ b/.github/workflows/scripts/.pinot_test.sh @@ -0,0 +1,79 @@ +#!/bin/bash -x +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +# ThirdEye related changes +printenv +cat "${GITHUB_EVENT_PATH}" +COMMIT_BEFORE=$(jq -r ".before" "${GITHUB_EVENT_PATH}") +COMMIT_AFTER=$(jq -r ".after" "${GITHUB_EVENT_PATH}") +echo "${COMMIT_BEFORE}" +echo "${COMMIT_AFTER}" +git diff --name-only "${COMMIT_BEFORE}" "${COMMIT_AFTER}" | grep -E '^(thirdeye)' +if [ $? -eq 0 ]; then + echo 'ThirdEye changes.' + + if [ "$TRAVIS_JDK_VERSION" != 'oraclejdk8' ]; then + echo 'Skip ThirdEye tests for version other than oracle jdk8.' + exit 0 + fi + + if [ "${RUN_INTEGRATION_TESTS}" == 'false' ]; then + echo 'Skip ThirdEye tests when integration tests off' + exit 0 + fi + + cd thirdeye + mvn test + failed=$? + if [ $failed -eq 0 ]; then + exit 0 + else + exit 1 + fi +fi + +# Only run tests for JDK 8 +if [ "$TRAVIS_JDK_VERSION" != 'oraclejdk8' ]; then + echo 'Skip tests for version other than oracle jdk8.' + exit 0 +fi + +passed=0 + +# Only run integration tests if needed +if [ "$RUN_INTEGRATION_TESTS" != 'false' ]; then + mvn test -B -P travis,travis-integration-tests-only + if [ $? -eq 0 ]; then + passed=1 + fi +else + mvn test -B -P travis,travis-no-integration-tests + if [ $? -eq 0 ]; then + passed=1 + fi +fi + +if [ $passed -eq 1 ]; then + # Only send code coverage data if passed + bash <(cat .codecov_bash) + exit 0 +else + exit 1 +fi --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
