blob: 4387a12a5b14c8d8f85c962f15408e08080bf86e [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: Java CI with Maven
on:
pull_request:
types: [opened]
branches:
- trunk
push:
branches:
- trunk
schedule:
- cron: '0 20 * * *'
jobs:
build:
runs-on: ubuntu-latest
env:
JAVA_OPTS: -Xmx3g
TEST_MODULES: "core,engine"
STANDARD_BUILD_OPTS: "-Dmaven.javadoc.skip=true -B -V"
PROFILES: "" # "-Ptravis"
SPARK_1_6: http://d3kbcqa49mib13.cloudfront.net/spark-1.6.3-bin-hadoop2.6.tgz
SPARK_2_0: http://d3kbcqa49mib13.cloudfront.net/spark-2.0.2-bin-hadoop2.7.tgz
SPARK_2_1: http://d3kbcqa49mib13.cloudfront.net/spark-2.1.0-bin-hadoop2.7.tgz
SPARK_2_3: https://archive.apache.org/dist/spark/spark-2.3.0/spark-2.3.0-bin-hadoop2.7.tgz
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 10
- name: Set up JDK 1.8
uses: actions/setup-java@v2
with:
distribution: 'adopt'
java-version: '8.0.392+8'
- name: Cache Maven packages
uses: actions/cache@v2
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install ocl-icd-libopencl1
wget https://github.com/viennacl/viennacl-dev/archive/release-1.7.1.zip
unzip -qq release-1.7.1.zip
sudo cp -r viennacl-dev-release-1.7.1/viennacl /usr/include/viennacl
sudo cp -r viennacl-dev-release-1.7.1/CL /usr/include/CL
sudo apt-get install openssh-client
sudo apt-get install openssh-server
ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
- name: Build with Maven
run: mvn clean package $STANDARD_BUILD_OPTS -DskipTests -DskipCli
- name: Setup Spark
run: |
echo $SPARK_2_3
wget $SPARK_2_3
tar -xzf *tgz
spark*/sbin/start-all.sh
- name: Run tests with Spark
run: mvn test -pl $TEST_MODULES $PROFILES -Dtest.spark.master=spark://localhost:7077