Skip to content

Introduces the concept of dependent tasks. #303

Introduces the concept of dependent tasks.

Introduces the concept of dependent tasks. #303

Workflow file for this run

# Copyright (c) Microsoft Corporation.
#
# Licensed 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
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
env:
JAVA_VERSION: 11
jobs:
build:
strategy:
matrix:
os: [ ubuntu-latest, macos-latest, windows-latest ]
runs-on: ${{ matrix.os }}
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: Set up JDK
uses: actions/setup-java@v3
with:
java-version: ${{ env.JAVA_VERSION }}
distribution: 'temurin'
cache: maven
- name: Build with Maven
run: mvn -B package --file pom.xml
## ----------------------------------------------------------------------------------
## Apache Spark (Session)
## ----------------------------------------------------------------------------------
spark-local-session:
needs: build
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
lst: [ delta ]
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: Set up JDK
uses: actions/setup-java@v3
with:
java-version: ${{ env.JAVA_VERSION }}
distribution: 'temurin'
cache: maven
- name: Run tests
run: mvn -B test --file pom.xml -Pspark-client -Dlst-bench.test.db=spark -Dlst-bench.test.lst=${{ matrix.lst }} -Dlst-bench.test.connection=spark
## ----------------------------------------------------------------------------------
## Apache Spark (JDBC)
## ----------------------------------------------------------------------------------
spark-jdbc:
needs: build
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
lst: [ delta, hudi ]
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: Set up JDK
uses: actions/setup-java@v3
with:
java-version: ${{ env.JAVA_VERSION }}
distribution: 'temurin'
cache: maven
- name: Start Spark container
run: |
CONTAINER_ID=$(docker run -d -p 10000:10000 -p 15002:15002 apache/spark:v3.3.2 tail -f /dev/null)
echo "SPARK_CONTAINER_ID=$CONTAINER_ID" >> $GITHUB_ENV
- name: Read properties for setup
id: yaml-data
uses: jbutcher5/read-yaml@1.6
with:
file: './src/test/resources/config/spark/experiment_config-${{ matrix.lst }}.yaml'
key-path: '["parameter_values", "external_data_path"]'
- name: Write properties to environment
run: echo "external_data_path=${{ steps.yaml-data.outputs.data }}" >> $GITHUB_ENV
- name: Setup Spark container
run: ./.github/scripts/spark/setup.sh
- name: Start Spark
run: ./.github/scripts/spark/start.sh
- name: Start Spark Thrift Server
run: ./.github/scripts/spark/start_thrift_server.sh ${{ matrix.lst }}
- name: Run tests
run: mvn -B test --file pom.xml -Pspark-jdbc -Dlst-bench.test.db=spark -Dlst-bench.test.lst=${{ matrix.lst }} -Dlst-bench.test.connection=jdbc