Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 11 additions & 6 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,16 +39,16 @@ jobs:
id: db-list
run: |
# Every engine gets these databases
DATABASES="mysql,postgres,sqlserver,oracle,sqlite"
DATABASES="mysql,postgres,sqlserver,oracle,sqlite,cockroachdb"

# Add h2 only for engines that support it (Lucee only)
case "${{ matrix.cfengine }}" in
lucee5|lucee6|lucee7)
DATABASES="mysql,postgres,sqlserver,h2,oracle,sqlite"
DATABASES="mysql,postgres,sqlserver,h2,oracle,sqlite,cockroachdb"
;;
adobe2018)
# adobe2018 also excludes sqlite
DATABASES="mysql,postgres,sqlserver,oracle"
DATABASES="mysql,postgres,sqlserver,oracle,cockroachdb"
;;
esac

Expand Down Expand Up @@ -211,6 +211,11 @@ jobs:
timeout 120 bash -c 'until docker exec wheels-sqlserver-1 /opt/mssql-tools18/bin/sqlcmd -S localhost -U SA -P "x!bsT8t60yo0cTVTPq" -Q "SELECT 1" -C 2>/dev/null | grep -q "1"; do sleep 5; done'
echo "SQL Server is ready"
;;
cockroachdb)
echo "Waiting for CockroachDB..."
timeout 60 bash -c 'until docker exec wheels-cockroachdb-1 cockroach sql --insecure --host=localhost:26257 --execute="SELECT 1" 2>/dev/null; do sleep 2; done'
echo "CockroachDB is ready"
;;
h2|sqlite)
echo "$db requires no external container"
;;
Expand Down Expand Up @@ -533,13 +538,13 @@ jobs:
MATRIX_MD="${MATRIX_MD}
"
MATRIX_MD="${MATRIX_MD}
| Engine | MySQL | PostgreSQL | SQL Server | H2 | Oracle | SQLite |"
| Engine | MySQL | PostgreSQL | SQL Server | H2 | Oracle | SQLite | CockroachDB |"
MATRIX_MD="${MATRIX_MD}
|--------|:-----:|:----------:|:----------:|:--:|:------:|:------:|"
|--------|:-----:|:----------:|:----------:|:--:|:------:|:------:|:-----------:|"

for engine in lucee5 lucee6 lucee7 adobe2018 adobe2021 adobe2023 adobe2025 boxlang; do
ROW="| **${engine}** |"
for db in mysql postgres sqlserver h2 oracle sqlite; do
for db in mysql postgres sqlserver h2 oracle sqlite cockroachdb; do
FILE="results/test-results-${engine}/${engine}-${db}-result.txt"
if [ -f "$FILE" ]; then
FAIL=$(python3 -c "
Expand Down
20 changes: 20 additions & 0 deletions compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -357,7 +357,27 @@ services:
networks:
- wheels-network

cockroachdb:
image: cockroachdb/cockroach:v24.1.0
entrypoint: ["/bin/bash", "/docker-init/start.sh"]
restart: always
ports:
- "26258:26257"
- "8081:8080"
volumes:
- cockroach_data:/cockroach/cockroach-data
- ./tools/docker/cockroach:/docker-init
healthcheck:
test: ["CMD", "cockroach", "sql", "--insecure", "--host=localhost:26257", "--execute=SELECT 1"]
interval: 10s
timeout: 5s
retries: 5
start_period: 30s
networks:
- wheels-network

volumes:
mysql_data:
postgres_data:
sqlserver_data:
cockroach_data:
253 changes: 134 additions & 119 deletions tools/docker/adobe2018/CFConfig.json
Original file line number Diff line number Diff line change
@@ -1,121 +1,136 @@
{
"robustExceptionEnabled": true,
"adminPassword": "commandbox",
"adminPasswordDefault": "commandbox",
"adminLoginRequired": true,
"adminAllowedIPList": "*.*.*.*",
"secureProfileEnabled": false,
"datasources": {
"wheelstestdb_mysql": {
"allowAlter": true,
"allowCreate": true,
"allowDelete": true,
"allowDrop": true,
"allowGrant": true,
"allowInsert": true,
"allowRevoke": true,
"allowSelect": true,
"allowUpdate": true,
"class": "org.gjt.mm.mysql.Driver",
"database": "wheelstestdb",
"dbdriver": "mysql",
"dsn": "jdbc:mysql://{host}:{port}/{database}",
"host": "mysql",
"password": "wheelstestdb",
"port": "3306",
"username": "wheelstestdb"
},
"wheelstestdb_postgres": {
"blob": "false",
"class": "org.postgresql.Driver",
"clob": "false",
"connectionLimit": "-1",
"connectionTimeout": "20",
"database": "wheelstestdb",
"dbdriver": "PostgreSql",
"dsn": "jdbc:postgresql://{host}:{port}/{database}",
"host": "postgres",
"password": "wheelstestdb",
"port": "5432",
"username": "wheelstestdb",
"validate": "false"
},
"wheelstestdb_sqlserver": {
"blob": "false",
"class": "com.microsoft.sqlserver.jdbc.SQLServerDriver",
"clob": "false",
"connectionLimit": "-1",
"connectionTimeout": "20",
"database": "wheelstestdb",
"dbdriver": "MSSQL",
"dsn": "jdbc:sqlserver://{host}:{port}",
"host": "sqlserver",
"password": "x!bsT8t60yo0cTVTPq",
"port": "1433",
"username": "sa",
"validate": "false"
},
"msdb_sqlserver": {
"blob": "false",
"class": "com.microsoft.sqlserver.jdbc.SQLServerDriver",
"clob": "false",
"connectionLimit": "-1",
"connectionTimeout": "20",
"database": "msdb",
"dbdriver": "MSSQL",
"dsn": "jdbc:sqlserver://{host}:{port}",
"host": "sqlserver",
"password": "x!bsT8t60yo0cTVTPq",
"port": "1433",
"username": "sa",
"validate": "false"
},
"wheelstestdb_h2": {
"class":"org.h2.Driver",
"dbdriver":"H2",
"custom":"mode=MySQL&path=./db/",
"database":"wheelstestdb",
"dsn":"jdbc:h2:{path}{database};MODE={mode}",
"allow":"511",
"clob":true,
"blob":true
},
"wheelstestdb_oracle": {
"blob": "false",
"class": "oracle.jdbc.OracleDriver",
"clob": "false",
"connectionLimit": "-1",
"connectionTimeout": "20",
"database": "wheelstestdb",
"dbdriver": "Other",
"dsn": "jdbc:oracle:thin:@//{host}:{port}/{database}",
"host": "oracle",
"password": "wheelstestdb",
"port": "1521",
"username": "wheelstestdb",
"validate": "false"
},
"wheelstestdb_sqlite":{
"blob":false,
"class":"org.sqlite.JDBC",
"clob":false,
"database":"wheelstestdb",
"dbdriver":"Other",
"dsn":"jdbc:sqlite:/app/wheelstestdb.db",
"host":"",
"password":"",
"username":""
},
"wheelstestdb_sqlite_tenant_b":{
"blob":false,
"class":"org.sqlite.JDBC",
"clob":false,
"database":"wheelstestdb_tenant_b",
"dbdriver":"Other",
"dsn":"jdbc:sqlite:/app/wheelstestdb_tenant_b.db",
"host":"",
"password":"",
"username":""
}
}
"robustExceptionEnabled": true,
"adminPassword": "commandbox",
"adminPasswordDefault": "commandbox",
"adminLoginRequired": true,
"adminAllowedIPList": "*.*.*.*",
"secureProfileEnabled": false,
"datasources": {
"wheelstestdb_mysql": {
"allowAlter": true,
"allowCreate": true,
"allowDelete": true,
"allowDrop": true,
"allowGrant": true,
"allowInsert": true,
"allowRevoke": true,
"allowSelect": true,
"allowUpdate": true,
"class": "org.gjt.mm.mysql.Driver",
"database": "wheelstestdb",
"dbdriver": "mysql",
"dsn": "jdbc:mysql://{host}:{port}/{database}",
"host": "mysql",
"password": "wheelstestdb",
"port": "3306",
"username": "wheelstestdb"
},
"wheelstestdb_postgres": {
"blob": "false",
"class": "org.postgresql.Driver",
"clob": "false",
"connectionLimit": "-1",
"connectionTimeout": "20",
"database": "wheelstestdb",
"dbdriver": "PostgreSql",
"dsn": "jdbc:postgresql://{host}:{port}/{database}",
"host": "postgres",
"password": "wheelstestdb",
"port": "5432",
"username": "wheelstestdb",
"validate": "false"
},
"wheelstestdb_sqlserver": {
"blob": "false",
"class": "com.microsoft.sqlserver.jdbc.SQLServerDriver",
"clob": "false",
"connectionLimit": "-1",
"connectionTimeout": "20",
"database": "wheelstestdb",
"dbdriver": "MSSQL",
"dsn": "jdbc:sqlserver://{host}:{port}",
"host": "sqlserver",
"password": "x!bsT8t60yo0cTVTPq",
"port": "1433",
"username": "sa",
"validate": "false"
},
"msdb_sqlserver": {
"blob": "false",
"class": "com.microsoft.sqlserver.jdbc.SQLServerDriver",
"clob": "false",
"connectionLimit": "-1",
"connectionTimeout": "20",
"database": "msdb",
"dbdriver": "MSSQL",
"dsn": "jdbc:sqlserver://{host}:{port}",
"host": "sqlserver",
"password": "x!bsT8t60yo0cTVTPq",
"port": "1433",
"username": "sa",
"validate": "false"
},
"wheelstestdb_h2": {
"class": "org.h2.Driver",
"dbdriver": "H2",
"custom": "mode=MySQL&path=./db/",
"database": "wheelstestdb",
"dsn": "jdbc:h2:{path}{database};MODE={mode}",
"allow": "511",
"clob": true,
"blob": true
},
"wheelstestdb_oracle": {
"blob": "false",
"class": "oracle.jdbc.OracleDriver",
"clob": "false",
"connectionLimit": "-1",
"connectionTimeout": "20",
"database": "wheelstestdb",
"dbdriver": "Other",
"dsn": "jdbc:oracle:thin:@//{host}:{port}/{database}",
"host": "oracle",
"password": "wheelstestdb",
"port": "1521",
"username": "wheelstestdb",
"validate": "false"
},
"wheelstestdb_sqlite": {
"blob": false,
"class": "org.sqlite.JDBC",
"clob": false,
"database": "wheelstestdb",
"dbdriver": "Other",
"dsn": "jdbc:sqlite:/app/wheelstestdb.db",
"host": "",
"password": "",
"username": ""
},
"wheelstestdb_sqlite_tenant_b": {
"blob": false,
"class": "org.sqlite.JDBC",
"clob": false,
"database": "wheelstestdb_tenant_b",
"dbdriver": "Other",
"dsn": "jdbc:sqlite:/app/wheelstestdb_tenant_b.db",
"host": "",
"password": "",
"username": ""
},
"wheelstestdb_cockroachdb": {
"blob": "false",
"class": "org.postgresql.Driver",
"clob": "false",
"connectionLimit": "-1",
"connectionTimeout": "20",
"database": "wheelstestdb",
"dbdriver": "PostgreSql",
"dsn": "jdbc:postgresql://{host}:{port}/{database}?sslmode=disable",
"host": "cockroachdb",
"password": "",
"port": "26257",
"username": "wheelstestdb",
"validate": "false"
}
}
}
Loading
Loading