Skip to content

Commit fd3c54c

Browse files
committed
fix: use environment variables for MSSQL examples in CI
- Update getExampleConfig() to read DB_USER, DB_PASS, DB_HOST, DB_PORT, DB_NAME from environment variables for MSSQL - This allows examples to work in CI without requiring config.mssql.php file - Set environment variables in GitHub Actions workflow for MSSQL examples step
1 parent 3e28b5b commit fd3c54c

2 files changed

Lines changed: 29 additions & 0 deletions

File tree

.github/workflows/tests.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,11 @@ jobs:
241241
- name: Test MSSQL Examples
242242
run: |
243243
export PDODB_DRIVER=mssql
244+
export DB_USER="sa"
245+
export DB_PASS="Test123!@#"
246+
export DB_HOST="localhost"
247+
export DB_PORT="1433"
248+
export DB_NAME="testdb"
244249
./scripts/test-examples.sh --verbose
245250
- name: Upload MSSQL coverage to Codecov
246251
uses: codecov/codecov-action@v4

examples/helpers.php

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,30 @@
1313
function getExampleConfig(): array
1414
{
1515
$driver = mb_strtolower(getenv('PDODB_DRIVER') ?: 'sqlite', 'UTF-8');
16+
17+
// For CI environments, use environment variables directly
18+
if ($driver === 'mssql' || $driver === 'sqlsrv') {
19+
$dbUser = getenv('DB_USER');
20+
$dbPass = getenv('DB_PASS');
21+
$dbHost = getenv('DB_HOST') ?: 'localhost';
22+
$dbPort = getenv('DB_PORT') ?: '1433';
23+
$dbName = getenv('DB_NAME') ?: 'testdb';
24+
25+
// If environment variables are set (CI), use them
26+
if ($dbUser !== false && $dbPass !== false) {
27+
return [
28+
'driver' => 'sqlsrv',
29+
'host' => $dbHost,
30+
'port' => (int)$dbPort,
31+
'username' => $dbUser,
32+
'password' => $dbPass,
33+
'dbname' => $dbName,
34+
'trust_server_certificate' => true,
35+
'encrypt' => true,
36+
];
37+
}
38+
}
39+
1640
$configFile = __DIR__ . "/config.{$driver}.php";
1741

1842
if (!file_exists($configFile)) {

0 commit comments

Comments
 (0)