You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/user-guide/ci-cd.md
+16-5Lines changed: 16 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -424,10 +424,19 @@ steps:
424
424
425
425
### DACPAC Mode Requirements
426
426
427
-
Building `.sqlproj` to DACPAC typically requires Windows agents with SQL Server Data Tools installed.
427
+
**Modern SDK-style SQL Projects** (`Microsoft.Build.Sql` or `MSBuild.Sdk.SqlProj`) build cross-platform:
428
428
429
429
```yaml
430
-
# GitHub Actions - Windows for DACPAC
430
+
# GitHub Actions - Linux works with modern SQL SDKs
431
+
jobs:
432
+
build:
433
+
runs-on: ubuntu-latest # Works with Microsoft.Build.Sql and MSBuild.Sdk.SqlProj
434
+
```
435
+
436
+
**Traditional SQL Projects** (legacy `.sqlproj` format) require Windows with SQL Server Data Tools:
437
+
438
+
```yaml
439
+
# GitHub Actions - Windows required for traditional .sqlproj
431
440
jobs:
432
441
build:
433
442
runs-on: windows-latest
@@ -438,7 +447,7 @@ jobs:
438
447
Connection string mode works on both Windows and Linux:
439
448
440
449
```yaml
441
-
# GitHub Actions - Linux is fine for connection string mode
450
+
# GitHub Actions - Any platform works
442
451
jobs:
443
452
build:
444
453
runs-on: ubuntu-latest
@@ -457,13 +466,15 @@ For .NET 8-9, ensure tool restore runs before build:
457
466
458
467
### DACPAC build fails
459
468
460
-
Ensure Windows agent with SQL Server Data Tools:
469
+
For **traditional SQL Projects**, use Windows with SQL Server Data Tools:
461
470
462
471
```yaml
463
472
pool:
464
473
vmImage: 'windows-latest'
465
474
```
466
475
476
+
For **modern SDK-style projects** (`Microsoft.Build.Sql` or `MSBuild.Sdk.SqlProj`), Linux works fine - verify your project SDK is configured correctly.
477
+
467
478
### Inconsistent generated code
468
479
469
480
Clear the cache to force regeneration:
@@ -482,7 +493,7 @@ Enable caching for the efcpt intermediate directory to skip regeneration when sc
482
493
1. **Use .NET 10+** when possible to eliminate tool installation steps
483
494
2. **Use local tool manifests** (.NET 8-9) for version consistency
484
495
3. **Cache intermediate directories** to speed up incremental builds
485
-
4. **Use Windows agents** for DACPAC mode
496
+
4. **Use modern SQL SDKs** (`Microsoft.Build.Sql` or `MSBuild.Sdk.SqlProj`) for cross-platform DACPAC builds
486
497
5. **Use environment variables** for connection strings
0 commit comments