/
githubmirror
/
sqlancer
Обзор
Документация
Войти
/
githubmirror
/
sqlancer
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
.github/workflows/main.yml
350 строк
12 KB
Yisong Han
fix(databend): code adjustment
28 сен 2022, 15:50
Не верифицирован
28 сен 2022, 15:50
debb2cc
Код
Авторство
О чём код?
name: ci on: push: branches: - master pull_request: branches: - master jobs: misc: name: General tests runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 with: fetch-depth: 0 - name: Set up JDK 11 uses: actions/setup-java@v1 with: java-version: 11 - name: Verify run: mvn -B verify -DskipTests=true - name: Misc Tests run: mvn -B '-Dtest=!sqlancer.dbms.**' test citus: name: DBMS Tests (Citus) runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 with: fetch-depth: 0 - name: Set up JDK 11 uses: actions/setup-java@v1 with: java-version: 11 - name: Build SQLancer run: mvn -B package -DskipTests=true - name: Set up Citus run: | echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list curl https://install.citusdata.com/community/deb.sh | sudo bash sudo apt-get -y install postgresql-13-citus-10.1 sudo chown -R $USER:$USER /var/run/postgresql export PATH=/usr/lib/postgresql/13/bin:$PATH cd ~ mkdir -p citus/coordinator citus/worker1 citus/worker2 initdb -D citus/coordinator initdb -D citus/worker1 initdb -D citus/worker2 echo "shared_preload_libraries = 'citus'" >> citus/coordinator/postgresql.conf echo "shared_preload_libraries = 'citus'" >> citus/worker1/postgresql.conf echo "shared_preload_libraries = 'citus'" >> citus/worker2/postgresql.conf pg_ctl -D citus/coordinator -o "-p 9700" -l coordinator_logfile start || cat coordinator_logfile || cat citus/coordinator/coordinator_logfile pg_ctl -D citus/worker1 -o "-p 9701" -l worker1_logfile start ls citus/worker1 pg_ctl -D citus/worker2 -o "-p 9702" -l worker2_logfile start psql -c "CREATE ROLE sqlancer SUPERUSER LOGIN CREATEDB PASSWORD 'sqlancer';" -p 9700 -d postgres -U $USER createdb test -p 9700 -U $USER psql -c "CREATE ROLE sqlancer SUPERUSER LOGIN CREATEDB PASSWORD 'sqlancer';" -p 9701 -d postgres -U $USER createdb test -p 9701 -U $USER psql -c "CREATE ROLE sqlancer SUPERUSER LOGIN CREATEDB PASSWORD 'sqlancer';" -p 9702 -d postgres -U $USER createdb test -p 9702 -U $USER psql -c "CREATE EXTENSION citus;" -p 9700 -U $USER -d test psql -c "CREATE EXTENSION citus;" -p 9701 -U $USER -d test psql -c "CREATE EXTENSION citus;" -p 9702 -U $USER -d test psql -c "SELECT * from citus_add_node('localhost', 9701);" -p 9700 -U $USER -d test psql -c "SELECT * from citus_add_node('localhost', 9702);" -p 9700 -U $USER -d test - name: Run Tests run: CITUS_AVAILABLE=true mvn -Dtest=TestCitus test clickhouse: name: DBMS Tests (ClickHouse) runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 with: fetch-depth: 0 - name: Set up JDK 11 uses: actions/setup-java@v1 with: java-version: 11 - name: Build SQLancer run: mvn -B package -DskipTests=true - name: Set up ClickHouse run: | docker pull yandex/clickhouse-server:latest docker run --ulimit nofile=262144:262144 --name clickhouse-server -p8123:8123 -d yandex/clickhouse-server:latest sleep 5 - name: Run Tests run: CLICKHOUSE_AVAILABLE=true mvn -Dtest=ClickHouseBinaryComparisonOperationTest test cockroachdb: name: DBMS Tests (CockroachDB) runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 with: fetch-depth: 0 - name: Set up JDK 11 uses: actions/setup-java@v1 with: java-version: 11 - name: Build SQLancer run: mvn -B package -DskipTests=true - name: Set up CockroachDB run: | wget -qO- https://binaries.cockroachdb.com/cockroach-v21.1.7.linux-amd64.tgz | tar xvz cd cockroach-v21.1.7.linux-amd64/ && ./cockroach start-single-node --insecure & sleep 10 - name: Create SQLancer user run: cd cockroach-v21.1.7.linux-amd64/ && ./cockroach sql --insecure -e "CREATE USER sqlancer; GRANT admin to sqlancer" && cd .. - name: Run Tests run: COCKROACHDB_AVAILABLE=true mvn -Dtest=TestCockroachDB test databend: name: DBMS Tests (Databend) runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 with: fetch-depth: 0 - name: Set up JDK 11 uses: actions/setup-java@v1 with: java-version: 11 - name: Build SQLancer run: mvn -B package -DskipTests=true - name: Set up Databend run: | sudo apt update sudo apt install mysql-client LASTEST_TAG=$(curl -s GET https://api.github.com/repos/datafuselabs/databend/tags\?per_page\=1 | jq -r '.[].name') curl -LJO https://github.com/datafuselabs/databend/releases/download/${LASTEST_TAG}/databend-${LASTEST_TAG}-x86_64-unknown-linux-musl.tar.gz mkdir ./databend && tar xzvf databend-${LASTEST_TAG}-x86_64-unknown-linux-musl.tar.gz -C ./databend ./databend/bin/databend-query & - name: Create SQLancer user run: mysql -uroot -h127.0.0.1 -P3307 -e "CREATE USER 'sqlancer' IDENTIFIED BY 'sqlancer'; GRANT ALL ON *.* TO sqlancer;" - name: Run Tests run: | DATABEND_AVAILABLE=true mvn -Dtest=TestDatabend test duckdb: name: DBMS Tests (DuckDB) runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 with: fetch-depth: 0 - name: Set up JDK 11 uses: actions/setup-java@v1 with: java-version: 11 - name: Build run: mvn -B package -DskipTests=true - name: DuckDB Tests run: mvn -Dtest=TestDuckDB test h2: name: DBMS Tests (H2) runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 with: fetch-depth: 0 - name: Set up JDK 11 uses: actions/setup-java@v1 with: java-version: 11 - name: Build SQLancer run: mvn -B package -DskipTests=true - name: Run Tests run: H2_AVAILABLE=true mvn -Dtest=TestH2 test mariadb: name: DBMS Tests (MariaDB) runs-on: ubuntu-18.04 steps: - uses: actions/checkout@v2 with: fetch-depth: 0 - name: Set up JDK 11 uses: actions/setup-java@v1 with: java-version: 11 - name: Build SQLancer run: mvn -B package -DskipTests=true - name: Install MariaDB run: | sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8 sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://sfo1.mirrors.digitalocean.com/mariadb/repo/10.3/ubuntu bionic main' sudo apt update sudo apt install mariadb-server sudo systemctl start mariadb - name: Create SQLancer User run: sudo mysql -uroot -proot -e "CREATE USER 'sqlancer'@'localhost' IDENTIFIED BY 'sqlancer'; GRANT ALL PRIVILEGES ON * . * TO 'sqlancer'@'localhost';" - name: Run Tests run: MARIADB_AVAILABLE=true mvn -Dtest=TestMariaDB test mysql: name: DBMS Tests (MySQL) runs-on: ubuntu-18.04 steps: - uses: actions/checkout@v2 with: fetch-depth: 0 - name: Set up JDK 11 uses: actions/setup-java@v1 with: java-version: 11 - name: Build SQLancer run: mvn -B package -DskipTests=true - name: Set up MySQL run: | sudo apt-get install libssl-dev libmecab2 libjson-perl mecab-ipadic-utf8 sudo apt-get remove mysql-* wget -q https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-server_8.0.20-1ubuntu18.04_amd64.deb-bundle.tar tar -xvf mysql-server_8.0.20-1ubuntu18.04_amd64.deb-bundle.tar sudo dpkg -i *.deb sudo systemctl start mysql - name: Create SQLancer user run: mysql -uroot -proot -e "CREATE USER 'sqlancer'@'localhost' IDENTIFIED BY 'sqlancer'; GRANT ALL PRIVILEGES ON * . * TO 'sqlancer'@'localhost';" - name: Run Tests run: | MYSQL_AVAILABLE=true mvn test -Dtest=TestMySQLPQS MYSQL_AVAILABLE=true mvn test -Dtest=TestMySQLTLP postgres: name: DBMS Tests (PostgreSQL) runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 with: fetch-depth: 0 - name: Set up PostgreSQL uses: harmon758/postgresql-action@v1 with: postgresql version: '12' postgresql user: 'sqlancer' postgresql password: 'sqlancer' postgresql db: 'test' - name: Set up JDK 11 uses: actions/setup-java@v1 with: java-version: 11 - name: Build SQLancer run: mvn -B package -DskipTests=true - name: Run Tests run: POSTGRES_AVAILABLE=true mvn -Dtest=TestPostgres test sqlite: name: DBMS Tests (SQLite) runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 with: fetch-depth: 0 - name: Set up JDK 11 uses: actions/setup-java@v1 with: java-version: 11 - name: Build run: mvn -B package -DskipTests=true - name: SQLite Tests run: | mvn -Dtest=TestSQLitePQS test mvn -Dtest=TestSQLite3 test tidb: name: DBMS Tests (TiDB) runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 with: fetch-depth: 0 - name: Set up JDK 11 uses: actions/setup-java@v1 with: java-version: 11 - name: Build SQLancer run: mvn -B package -DskipTests=true - name: Set up TiDB run: | docker pull pingcap/tidb:latest docker run --name tidb-server -d -p 4000:4000 pingcap/tidb:latest sleep 10 - name: Create SQLancer user run: sudo mysql -h 127.0.0.1 -P 4000 -u root -D test -e "CREATE USER 'sqlancer'@'%' IDENTIFIED WITH mysql_native_password BY 'sqlancer'; GRANT ALL PRIVILEGES ON *.* TO 'sqlancer'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES;" - name: Run Tests run: TIDB_AVAILABLE=true mvn -Dtest=TestTiDB test java13: name: Java 13 Compatibility (DuckDB) runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 with: fetch-depth: 0 - name: Set up JDK 13 uses: actions/setup-java@v1 with: java-version: 13 - name: Build run: mvn -B package -DskipTests=true - name: Shortly run DuckDB run: cd target && java -jar $(ls | grep -P 'sqlancer-[0-9.]*.jar') --num-threads 4 --timeout-seconds 30 --num-queries 0 duckdb java14: name: Java 14 Compatibility (DuckDB) runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 with: fetch-depth: 0 - name: Set up JDK 14 uses: actions/setup-java@v1 with: java-version: 14 - name: Build run: mvn -B package -DskipTests=true - name: Shortly run DuckDB run: cd target && java -jar $(ls | grep -P 'sqlancer-[0-9.]*.jar') --num-threads 4 --timeout-seconds 30 --num-queries 0 duckdb java15: name: Java 15 EA Compatibility (DuckDB) runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 with: fetch-depth: 0 - name: Set up JDK 15 uses: actions/setup-java@v1 with: java-version: 15-ea - name: Build run: mvn -B package -DskipTests=true - name: Shortly run DuckDB run: cd target && java -jar $(ls | grep -P 'sqlancer-[0-9.]*.jar') --num-threads 4 --timeout-seconds 30 --num-queries 0 duckdb