Skip to content

Commit

Permalink
test
Browse files Browse the repository at this point in the history
  • Loading branch information
j2gg0s committed Nov 22, 2024
1 parent 18e0874 commit 835e0ac
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 14 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,14 +65,14 @@ jobs:
image: ghcr.io/uptrace/mssql:latest
env:
ACCEPT_EULA: Y
MYSQL_SA_PASSWORD: passWORD1
MSSQL_SA_PASSWORD: passWORD1
MSSQL_DB: test
MSSQL_USER: sa
MSSQL_PASSWORD: passWORD1
ports:
- 1433:1433
options: >-
--health-cmd="/opt/mssql-tools18/bin/sqlcmd -S tcp:localhost,1433;TrustServerCertificate=yes -U sa -P passWORD1 -Q
--health-cmd="/opt/mssql-tools18/bin/sqlcmd -S localhost -C -U sa -P passWORD1 -Q
'select 1' -b -o /dev/null" --health-interval=10s --health-timeout=5s --health-retries=5
steps:
Expand Down
22 changes: 10 additions & 12 deletions internal/dbtest/mssql-docker/configure-db.sh
Original file line number Diff line number Diff line change
@@ -1,25 +1,23 @@
#!/bin/bash

# Wait 60 seconds for SQL Server to start up by ensuring that
# Wait 60 seconds for SQL Server to start up by ensuring that
# calling SQLCMD does not return an error code, which will ensure that sqlcmd is accessible
# and that system and user databases return "0" which means all databases are in an "online" state
# https://docs.microsoft.com/en-us/sql/relational-databases/system-catalog-views/sys-databases-transact-sql?view=sql-server-2017
# https://docs.microsoft.com/en-us/sql/relational-databases/system-catalog-views/sys-databases-transact-sql?view=sql-server-2017

DBSTATUS=1
ERRCODE=1
i=0

while [[ $DBSTATUS -ne 0 ]] && [[ $i -lt 30 ]] && [[ $ERRCODE -ne 0 ]]; do
i=$i+1
DBSTATUS=$(/opt/mssql-tools18/bin/sqlcmd -h -1 -t 1 -S "tcp:localhost,1433;TrustServerCertificate=yes" -U sa -P "$MYSQL_SA_PASSWORD" -Q "SET NOCOUNT ON; Select SUM(state) from sys.databases")
ERRCODE=$?
sleep 1
while [[ $DBSTATUS -ne 0 ]] && [[ $i -lt 30 ]] ; do
i=$((i+1))
DBSTATUS=$(/opt/mssql-tools18/bin/sqlcmd -h -1 -t 1 -C -U sa -P "$MSSQL_SA_PASSWORD" -Q "SET NOCOUNT ON; Select SUM(state) from sys.databases")
sleep 1
done

if [[ $DBSTATUS -ne 0 ]] || [[ $ERRCODE -ne 0 ]]; then
echo "SQL Server took more than 30 seconds to start up or one or more databases are not in an ONLINE state"
exit 1
if [[ $DBSTATUS -ne 0 ]] ; then
echo "SQL Server took more than 30 seconds to start up or one or more databases are not in an ONLINE state" $DBSTATUS
exit 1
fi

# Run the setup script to create the DB and the schema in the DB
/opt/mssql-tools18/bin/sqlcmd -S "tcp:localhost,1433;TrustServerCertificate=yes" -U sa -P "$MYSQL_SA_PASSWORD" -d master -i setup.sql
/opt/mssql-tools18/bin/sqlcmd -C -U sa -P "$MSSQL_SA_PASSWORD" -d master -i setup.sql

0 comments on commit 835e0ac

Please sign in to comment.