mirror of https://github.com/citusdata/citus.git
Merge 55ae7a631d
into 4cd8bb1b67
commit
7c64851e94
|
@ -0,0 +1,116 @@
|
||||||
|
name: Run sqlancer tests
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
citus_release:
|
||||||
|
default: main
|
||||||
|
description: 'Branch, tag or SHA to run tests against'
|
||||||
|
required: true
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
|
||||||
|
run-sqlancer-test-on-citus:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container:
|
||||||
|
image: 'citus/exttester:15.4-dev-c5dad6b'
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout citus release
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
ref: ${{ inputs.citus_release }}
|
||||||
|
repository: citusdata/citus
|
||||||
|
|
||||||
|
- name: Configure
|
||||||
|
run: |
|
||||||
|
echo "Current Shell:$0"
|
||||||
|
echo "GCC Version: $(gcc --version)"
|
||||||
|
./configure 2>&1 | tee output.log
|
||||||
|
|
||||||
|
- name: Make install-all
|
||||||
|
run: |
|
||||||
|
make install-all -sj$(cat /proc/cpuinfo | grep "core id" | wc -l) 2>&1 | tee -a output.log
|
||||||
|
|
||||||
|
|
||||||
|
- name: Setup Maven
|
||||||
|
uses: s4u/setup-maven-action@v1.6.0
|
||||||
|
with:
|
||||||
|
java-version: 11
|
||||||
|
|
||||||
|
- name: Checkout Sqlancer
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
ref: gokhangulbiz/citus_v12_support
|
||||||
|
repository: gokhangulbiz/sqlancer
|
||||||
|
|
||||||
|
- name: Build SQLancer
|
||||||
|
run: mvn -B package -DskipTests=true
|
||||||
|
|
||||||
|
- name: Set up Citus cluster
|
||||||
|
run: |
|
||||||
|
mkdir -p citus/coordinator citus/worker1 citus/worker2
|
||||||
|
chown -R circleci:circleci citus
|
||||||
|
gosu circleci initdb -D citus/coordinator
|
||||||
|
gosu circleci initdb -D citus/worker1
|
||||||
|
gosu circleci initdb -D citus/worker2
|
||||||
|
gosu circleci echo "shared_preload_libraries = 'citus'" >> citus/coordinator/postgresql.conf
|
||||||
|
gosu circleci echo "shared_preload_libraries = 'citus'" >> citus/worker1/postgresql.conf
|
||||||
|
gosu circleci echo "shared_preload_libraries = 'citus'" >> citus/worker2/postgresql.conf
|
||||||
|
gosu circleci pg_ctl -D citus/coordinator -o "-p 9700" -l citus/coordinator_logfile start
|
||||||
|
gosu circleci pg_ctl -D citus/worker1 -o "-p 9701" -l citus/worker1_logfile start
|
||||||
|
gosu circleci ls citus/worker1
|
||||||
|
gosu circleci pg_ctl -D citus/worker2 -o "-p 9702" -l citus/worker2_logfile start
|
||||||
|
gosu circleci psql -c "CREATE ROLE sqlancer SUPERUSER LOGIN CREATEDB PASSWORD 'sqlancer';" -p 9700 -d postgres
|
||||||
|
gosu circleci createdb test -p 9700
|
||||||
|
gosu circleci psql -c "CREATE ROLE sqlancer SUPERUSER LOGIN CREATEDB PASSWORD 'sqlancer';" -p 9701 -d postgres
|
||||||
|
gosu circleci createdb test -p 9701
|
||||||
|
gosu circleci psql -c "CREATE ROLE sqlancer SUPERUSER LOGIN CREATEDB PASSWORD 'sqlancer';" -p 9702 -d postgres
|
||||||
|
gosu circleci createdb test -p 9702
|
||||||
|
gosu circleci psql -c "CREATE EXTENSION citus;" -p 9700 -d test
|
||||||
|
gosu circleci psql -c "CREATE EXTENSION citus;" -p 9701 -d test
|
||||||
|
gosu circleci psql -c "CREATE EXTENSION citus;" -p 9702 -d test
|
||||||
|
gosu circleci psql -c "SELECT * from citus_add_node('localhost', 9701);" -p 9700 -d test
|
||||||
|
gosu circleci psql -c "SELECT * from citus_add_node('localhost', 9702);" -p 9700 -d test
|
||||||
|
- name: Run Tests
|
||||||
|
run: CITUS_AVAILABLE=true mvn -Dtest=TestCitus test
|
||||||
|
|
||||||
|
- name: Publish Logs
|
||||||
|
if: ${{ always() }}
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: logs
|
||||||
|
path: |
|
||||||
|
logs
|
||||||
|
citus/coordinator_logfile
|
||||||
|
citus/worker1_logfile
|
||||||
|
citus/worker2_logfile
|
||||||
|
|
||||||
|
- name: Publish Summary
|
||||||
|
if: ${{ always() }}
|
||||||
|
run: |
|
||||||
|
declare -A errors_table
|
||||||
|
|
||||||
|
while read line
|
||||||
|
do
|
||||||
|
IFS=':'
|
||||||
|
read -a delimitedArr <<< "$line"
|
||||||
|
|
||||||
|
file=${delimitedArr[0]}
|
||||||
|
category=${delimitedArr[2]}
|
||||||
|
error=${delimitedArr[3]}
|
||||||
|
|
||||||
|
if [[ -z "${errors_table[$error]}" ]]
|
||||||
|
then
|
||||||
|
errors_table["$error"]="$file "
|
||||||
|
else
|
||||||
|
errors_table["$error"]=" ${errors_table[$error]}, $file "
|
||||||
|
fi
|
||||||
|
|
||||||
|
done < <(grep -noR "ERROR:.*" logs/citus)
|
||||||
|
|
||||||
|
for key in "${!errors_table[@]}"; do
|
||||||
|
echo "### $key" >> $GITHUB_STEP_SUMMARY
|
||||||
|
echo "in ${errors_table[$key]}" >> $GITHUB_STEP_SUMMARY
|
||||||
|
done
|
||||||
|
shell: bash
|
Loading…
Reference in New Issue