Skip to content

Test: creating a PR

Test: creating a PR #1

Workflow file for this run

# 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: Gluten Unit Tests Suite
on:
pull_request
concurrency:
group: ${{ github.repository }}-${{ github.head_ref || github.sha }}-${{ github.workflow }}
cancel-in-progress: true
jobs:
arrow-backend-test:
runs-on: sr404-self-hosted
steps:
- uses: actions/checkout@v2
- name: Set up JDK 1.8
uses: actions/setup-java@v2
with:
distribution: 'zulu'
java-version: '8'
java-package: jdk
overwrite-settings: false
- run: sudo swapoff -a
- run: free
- run: sudo apt-get update
- run: sudo apt-get install -y cmake ccache build-essential
- run: sudo apt-get install -y maven
- run: sudo apt-get install -y libboost-all-dev libcurl4-openssl-dev
- run: sudo apt-get install -y libssl-dev
- run: sudo apt-get install -y libz-dev
- run: sudo apt-get install -y llvm clang
- name: Install Gluten Arrow-backend
run: |
rm -rf ~/.m2/repository/org/apache/arrow && rm -rf ~/.m2/repository/io/glutenproject/
mvn clean package -Pspark-3.2 -Pbackends-gazelle -DskipTests -Dbuild_cpp=ON -Dbuild_gazelle_cpp=ON -Dbuild_arrow=ON
rm -rf /tmp/gluten_jars && mkdir -p /tmp/gluten_jars
cp package/gazelle/spark32/target/gluten-spark3.2_2.12-1.0.0-SNAPSHOT-jar-with-dependencies.jar /tmp/gluten_jars/
# - name: Run unit tests
# run: |
# mvn test -Dcheckstyle.skip -Dexec.skip -Pbackends-gazelle -Dbuild_cpp=OFF -pl backends-gazelle -DwildcardSuites=io.glutenproject.execution.ArrowParquetWriteSuite -DfailIfNoTests=false
- name: Run TPCDS q82,q85,q37,q60,q26
run: |
cd /home/sparkuser/tpcds/
bash tpcds_spark.sh
velox-backend-test:
runs-on: velox-self-hosted
steps:
- uses: actions/checkout@v2
- name: Checkout gluten-te code
run: |
git clone -b main https://github.com/zhztheplayer/gluten-te.git gluten-te
- name: Setup docker container
run: |
EXTRA_DOCKER_OPTIONS="--name velox-backend-test-$GITHUB_RUN_ID --detach" NON_INTERACTIVE=ON gluten-te/cbash.sh sleep 14400
- name: Install Gluten Velox-backend spark3.2 and Unit test
run: |
docker exec velox-backend-test-$GITHUB_RUN_ID bash -c 'cd /opt/gluten && \
mvn clean install -Pspark-3.2 -Pspark-ut -Pbackends-velox -Dcpp_tests=ON -Dcpp_benchmarks=ON \
-Dbuild_protobuf=OFF -Dbuild_velox_from_source=ON -Dbuild_arrow=ON'
- name: Install Gluten Velox-backend spark3.3 and Unit test
run: |
docker exec velox-backend-test-$GITHUB_RUN_ID bash -c 'cd /opt/gluten && \
mvn clean install -Pspark-3.3 -Pbackends-velox'
- name: Build spark3.2 and spark3.3 at the same time
run: |
docker exec velox-backend-test-$GITHUB_RUN_ID bash -c 'cd /opt/gluten && \
mvn clean install -Pspark-3.2 -Pspark-3.3 -DskipTests -Dcheckstyle.skip -Dscalastyle.skip=true -Pbackends-velox'
- name: Checkout gluten-it code in docker
run: |
docker exec velox-backend-test-$GITHUB_RUN_ID bash -c 'cd /opt/gluten && \
git clone -b main https://github.com/zhztheplayer/gluten-it.git gluten-it'
- name: TPC-H SF1.0 && TPC-DS SF0.1 Parquet local spark3.2
run: |
docker exec velox-backend-test-$GITHUB_RUN_ID bash -c 'cd /opt/gluten/gluten-it && \
mvn clean package -Pspark-3.2 -Pgluten-velox -Darrow.version=10.0.0-SNAPSHOT \
&& java -Xmx5G -XX:ErrorFile=/var/log/java/hs_err_pid%p.log -cp target/gluten-it-1.0-SNAPSHOT-jar-with-dependencies.jar io.glutenproject.integration.tpc.Tpc \
--backend-type=velox --benchmark-type=h --fixed-width-as-double --disable-aqe --off-heap-size=10g -s=1.0 --cpus=4 --iterations=1 \
&& java -Xmx5G -XX:ErrorFile=/var/log/java/hs_err_pid%p.log -cp target/gluten-it-1.0-SNAPSHOT-jar-with-dependencies.jar io.glutenproject.integration.tpc.Tpc \
--backend-type=velox --benchmark-type=ds --fixed-width-as-double --off-heap-size=2g -s=0.1 --cpus=4 --iterations=1'
- name: TPC-H SF1.0 && TPC-DS SF0.1 Parquet local spark3.3
run: |
docker exec velox-backend-test-$GITHUB_RUN_ID bash -c 'cd /opt/gluten/gluten-it && \
mvn clean package -Pspark-3.3 -Pgluten-velox -Darrow.version=10.0.0-SNAPSHOT \
&& java -Xmx5G -XX:ErrorFile=/var/log/java/hs_err_pid%p.log -cp target/gluten-it-1.0-SNAPSHOT-jar-with-dependencies.jar io.glutenproject.integration.tpc.Tpc \
--backend-type=velox --benchmark-type=h --fixed-width-as-double --disable-aqe --off-heap-size=10g -s=1.0 --cpus=4 --iterations=1 --use-existing-data \
&& java -Xmx5G -XX:ErrorFile=/var/log/java/hs_err_pid%p.log -cp target/gluten-it-1.0-SNAPSHOT-jar-with-dependencies.jar io.glutenproject.integration.tpc.Tpc \
--backend-type=velox --benchmark-type=ds --fixed-width-as-double --off-heap-size=2g -s=0.1 --cpus=4 --iterations=1 --use-existing-data'
# - name: Run micro benchmarks
# run: |
# cd cpp/velox/benchmarks/
# ./generic_benchmark
- name: Exit docker container
if: ${{ always() }}
run: |
docker stop velox-backend-test-$GITHUB_RUN_ID || true
ch-backend-test:
runs-on: libch-self-hosted
steps:
- uses: actions/checkout@v2
- name: Set up JDK 1.8
uses: actions/setup-java@v2
with:
distribution: 'zulu'
java-version: '8'
java-package: jdk
overwrite-settings: false
- run: sudo swapoff -a
- run: free
- run: sudo apt-get update
- run: sudo apt-get install -y maven
- name: Install and Check ClickHouse Backend lib
uses: liuneng1994/pull-request-comment-trigger@master
id: ch_version
with:
trigger: 'test by CH\[\[(\S*)]]'
- run: |
wget -O /tmp/libch.so.new https://devopsnexus.kyligence.io/repository/raw-tars-hosted/io.kyligence.clickhouse/clickhouse_backend/latest/libch.so
mv /tmp/libch.so.new /tmp/libch.so
if: steps.ch_version.outputs.triggered == 'false'
- run: |
cd /home/qwe1398775315/code/ClickHouse
gh pr checkout ${{ steps.ch_version.outputs.trigger_var }} --force
sudo rm -f /tmp/ch_output/*
sudo docker run --rm --volume=/tmp/ch_output:/output --volume=/home/qwe1398775315/code/ClickHouse:/clickhouse --volume=/home/qwe1398775315/.cache:/ccache -e ENABLE_EMBEDDED_COMPILER=ON qwe1398775315/libchbuilder:0.1.0
cp /tmp/ch_output/libch*.so /tmp/libch.so
if: steps.ch_version.outputs.triggered == 'true'
- name: Run Gluten + ClickHouse Backend unit tests with Spark 3.2
run: |
export MAVEN_OPTS="-Xmx5g -XX:ReservedCodeCacheSize=1g"
mvn clean install -Pbackends-clickhouse -Pspark-3.2 -Pspark-ut -Dtpcds.data.path=/home/changchen/tpcds-sf1-data -Dclickhouse.lib.path=/tmp/libch.so
formatting-check:
name: Formatting Check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Run clang-format style check for C/C++ programs.
uses: jidicula/clang-format-action@v3.5.1
with:
clang-format-version: '10'
check-path: 'gluten/cpp/src'
fallback-style: 'Google' # optional