blob: 552642ff7112eb0d18c2cfe14c776e8cee568f6c [file] [log] [blame]
#
# 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: Unit Tests
on: [push]
env:
MAVEN_OPTS: -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false -Dmaven.wagon.http.retryHandler.class=standard -Dmaven.wagon.http.retryHandler.count=3
jobs:
build:
runs-on: ubuntu-20.04
# TODO: Possibly point to the ./build-ci-image.yaml with the "uses" key
container: ghcr.io/${{ github.repository_owner }}/livy-ci:latest
strategy:
matrix:
maven_profile:
- "-Pscala-2.11 -Pspark2"
- "-Pscala-2.12 -Pspark2"
- "-Pscala-2.12 -Pspark3"
steps:
-
name: Checkout
uses: actions/checkout@v3
-
name: Cache local Maven repository
uses: actions/cache@v3
with:
path: |
/root/.m2/repository
!/root/.m2/repository/org/apache/livy
key: ${{ runner.os }}-maven-${{ hashFiles('pom.xml', '*/pom.xml', 'thriftserver/*/pom.xml', 'core/*/pom.xml', 'repl/*/pom.xml', 'scala-api/*/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
-
name: Build with Maven
run: mvn -Pthriftserver ${{ matrix.mvn_profile }} -DskipITs -Dmaven.javadoc.skip=true -B -V -e verify
-
name: Upload coverage to codecov
uses: codecov/codecov-action@v3