48
48
name : appveyor-repo
49
49
path : appveyor-lab
50
50
51
- # Linux build job - builds core/lib components
52
- linux-build :
53
- runs-on : ubuntu-latest
54
- needs : setup-dependencies
55
- steps :
56
- - uses : actions/checkout@v4
57
-
58
- - name : Setup .NET
59
- uses : actions/setup-dotnet@v4
60
- with :
61
- dotnet-version : |
62
- 8.0.x
63
- 6.0.x
64
-
65
- - name : Build core/lib
66
- shell : pwsh
67
- run : ./build/build.ps1 -CoreOnly
68
-
69
- - name : Upload Linux artifacts
70
- uses : actions/upload-artifact@v4
71
- with :
72
- name : core-lib-linux
73
- path : artifacts/dbatools.library/core/lib/
74
-
75
- # Windows build job - builds desktop/framework components (runs in parallel with Linux)
76
- windows-build :
51
+ # Windows build job - builds complete library with all components
52
+ build-library :
77
53
runs-on : windows-latest
78
54
needs : setup-dependencies
79
55
steps :
@@ -91,46 +67,13 @@ jobs:
91
67
shell : pwsh
92
68
run : choco install netfx-4.7.2-devpack -y --no-progress
93
69
94
- - name : Build library (Windows components only)
70
+ - name : Build complete library
95
71
shell : pwsh
96
72
run : .\build\build.ps1 -BuildZip
97
73
98
- - name : Upload Windows build artifacts
99
- uses : actions/upload-artifact@v4
100
- with :
101
- name : dbatools-library-windows
102
- path : artifacts/dbatools.library/
103
-
104
- # Combine artifacts job - merges Linux and Windows builds
105
- combine-artifacts :
106
- runs-on : ubuntu-latest
107
- needs : [linux-build, windows-build]
108
- steps :
109
- - name : Download Linux artifacts
110
- uses : actions/download-artifact@v4
111
- with :
112
- name : core-lib-linux
113
- path : linux-artifacts/
114
-
115
- - name : Download Windows artifacts
116
- uses : actions/download-artifact@v4
117
- with :
118
- name : dbatools-library-windows
119
- path : windows-artifacts/
120
-
121
- - name : Merge artifacts
74
+ - name : Make sqlpackage executable
122
75
shell : pwsh
123
76
run : |
124
- # Create final structure
125
- New-Item -ItemType Directory -Path ./artifacts/dbatools.library/core/lib -Force | Out-Null
126
-
127
- # Copy Windows build (base structure)
128
- Copy-Item -Path "windows-artifacts/*" -Destination "./artifacts/" -Recurse -Force
129
-
130
- # Overlay Linux core/lib components
131
- Copy-Item -Path "linux-artifacts/*" -Destination "./artifacts/dbatools.library/core/lib/" -Recurse -Force
132
-
133
- # Make sqlpackage executable
134
77
chmod +x ./artifacts/dbatools.library/core/lib/dac/linux/sqlpackage || true
135
78
chmod +x ./artifacts/dbatools.library/core/lib/dac/mac/sqlpackage || true
136
79
@@ -168,12 +111,7 @@ jobs:
168
111
}
169
112
Write-Host "All critical paths verified!" -ForegroundColor Green
170
113
171
- - name : Create release zip
172
- shell : pwsh
173
- run : |
174
- Compress-Archive -Path "./artifacts/dbatools.library" -DestinationPath "./dbatools.library.zip" -Force
175
-
176
- - name : Upload combined library artifact
114
+ - name : Upload library artifact
177
115
uses : actions/upload-artifact@v4
178
116
with :
179
117
name : dbatools-library
@@ -183,13 +121,13 @@ jobs:
183
121
uses : actions/upload-artifact@v4
184
122
with :
185
123
name : dbatools-library-zip
186
- path : dbatools.library.zip
124
+ path : artifacts/ dbatools.library.zip
187
125
188
126
# Test matrix - tests on all platforms with proper dependencies and environment
189
127
test-matrix :
190
128
name : Test on ${{ matrix.os }}
191
129
runs-on : ${{ matrix.os }}
192
- needs : combine-artifacts
130
+ needs : build-library
193
131
strategy :
194
132
fail-fast : false
195
133
matrix :
0 commit comments