[TEST ONLY] #5
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: JDBC Tests with non default server collation | |
on: [push, pull_request] | |
jobs: | |
run-babelfish-jdbc-tests: | |
env: | |
INSTALL_DIR: psql | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v2 | |
id: checkout | |
- name: Install Dependencies | |
id: install-dependencies | |
if: always() | |
uses: ./.github/composite-actions/install-dependencies | |
- name: Build Modified Postgres | |
id: build-modified-postgres | |
if: always() && steps.install-dependencies.outcome == 'success' | |
uses: ./.github/composite-actions/build-modified-postgres | |
- name: Compile ANTLR | |
id: compile-antlr | |
if: always() && steps.build-modified-postgres.outcome == 'success' | |
uses: ./.github/composite-actions/compile-antlr | |
- name: Build Extensions | |
id: build-extensions | |
if: always() && steps.compile-antlr.outcome == 'success' | |
uses: ./.github/composite-actions/build-extensions | |
- name: Build tds_fdw Extension | |
id: build-tds_fdw-extension | |
if: always() && steps.build-extensions.outcome == 'success' | |
uses: ./.github/composite-actions/build-tds_fdw-extension | |
- name: Build PostGIS Extension | |
id: build-postgis-extension | |
if: always() && steps.build-tds_fdw-extension.outcome == 'success' | |
uses: ./.github/composite-actions/build-postgis-extension | |
- name: Install Extensions | |
id: install-extensions | |
if: always() && steps.build-postgis-extension.outcome == 'success' | |
run: | | |
cd ~ | |
export PATH=/opt/mssql-tools/bin:$PATH | |
~/psql/bin/initdb -D ~/psql/data/ | |
~/psql/bin/pg_ctl -D ~/psql/data/ -l logfile start | |
cd psql/data | |
sudo sed -i "s/#listen_addresses = 'localhost'/listen_addresses = '*'/g" postgresql.conf | |
sudo sed -i "s/#shared_preload_libraries = ''/shared_preload_libraries = 'babelfishpg_tds, pg_stat_statements'/g" postgresql.conf | |
ipaddress=$(ifconfig eth0 | grep 'inet ' | cut -d: -f2 | awk '{ print $2}') | |
# Allow only runner to have trust authentication, all other users must provide a password | |
{ | |
sudo echo "local all runner trust" | |
sudo echo "local all all md5" | |
sudo echo "host all runner 127.0.0.1/32 trust" | |
sudo echo "host all runner $ipaddress/32 trust" | |
sudo echo "host all all 0.0.0.0/0 md5" | |
sudo echo "host all all ::/0 md5" | |
} > pg_hba.conf | |
sudo echo "babelfishpg_tsql.server_collation_name = 'chinese_prc_ci_as'" >> postgresql.conf | |
~/psql/bin/pg_ctl -D ~/psql/data/ -l logfile restart | |
cd ~/work/babelfish_extensions/babelfish_extensions/ | |
sudo ~/psql/bin/psql -d postgres -U runner -v user="jdbc_user" -v db="jdbc_testdb" -v migration_mode="single-db" -v parallel_query_mode=false -f .github/scripts/create_extension.sql | |
sqlcmd -S localhost -U "jdbc_user" -P 12345678 -Q "SELECT @@version GO" | |
shell: bash | |
- name: Run JDBC Tests | |
id: jdbc | |
if: always() && steps.install-extensions.outcome == 'success' | |
timeout-minutes: 60 | |
run: | | |
export PATH=~/${{env.INSTALL_DIR}}/bin:$PATH | |
export PG_SRC=~/work/babelfish_extensions/postgresql_modified_for_babelfish | |
cd test/JDBC/ | |
mvn test | |
- name: Cleanup babelfish database | |
id: cleanup | |
if: always() && steps.install-extensions.outcome == 'success' | |
run: | | |
sudo ~/psql/bin/psql -d postgres -U runner -v user="jdbc_user" -v db="jdbc_testdb" -f .github/scripts/cleanup_babelfish_database.sql | |
- name: Upload Log | |
if: always() && steps.jdbc.outcome == 'failure' | |
uses: actions/upload-artifact@v2 | |
with: | |
name: postgres-log | |
path: ~/psql/data/logfile | |
# The test summary files contain paths with ':' characters, which is not allowed with the upload-artifact actions | |
- name: Rename Test Summary Files | |
id: test-file-rename | |
if: always() && steps.jdbc.outcome == 'failure' | |
run: | | |
cd test/JDBC/Info | |
timestamp=`ls -Art | tail -n 1` | |
cd $timestamp | |
mv $timestamp.diff ../output-diff.diff | |
mv "$timestamp"_runSummary.log ../run-summary.log | |
- name: Upload Run Summary | |
if: always() && steps.test-file-rename == 'success' | |
uses: actions/upload-artifact@v2 | |
with: | |
name: run-summary.log | |
path: test/JDBC/Info/run-summary.log | |
- name: Upload Output Diff | |
if: always() && steps.jdbc.outcome == 'failure' | |
uses: actions/upload-artifact@v2 | |
with: | |
name: output-diff.diff | |
path: test/JDBC/Info/output-diff.diff |