Skip to content

Commit 2e09ec3

Browse files
committed
fix CI
1 parent 64fc922 commit 2e09ec3

1 file changed

Lines changed: 38 additions & 29 deletions

File tree

.github/workflows/dotnet-core.yml

Lines changed: 38 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,22 @@ on:
99
jobs:
1010
build:
1111

12-
runs-on: windows-latest
12+
runs-on: ubuntu-latest
13+
14+
services:
15+
mssql:
16+
image: mcr.microsoft.com/mssql/server:2022-latest
17+
env:
18+
ACCEPT_EULA: Y
19+
MSSQL_SA_PASSWORD: YourStrong@Passw0rd
20+
ports:
21+
- 1433:1433
22+
options: >-
23+
--health-cmd "/opt/mssql-tools18/bin/sqlcmd -S localhost -U SA -P 'YourStrong@Passw0rd' -Q 'SELECT 1' -No"
24+
--health-interval 10s
25+
--health-timeout 5s
26+
--health-retries 10
27+
--health-start-period 20s
1328
1429
steps:
1530
- uses: actions/checkout@v4
@@ -19,35 +34,29 @@ jobs:
1934
with:
2035
dotnet-version: 9.0.x
2136

22-
- name: Install SQL Server
23-
# Installs SQL Server and writes GITHUB_ACTION_SQL_SERVER_CONNECTION_STRING
24-
# with catalog=AdventureWorks2012. The database is empty at this point.
25-
uses: Particular/install-sql-server-action@v1.0.0
26-
with:
27-
connection-string-env-var: GITHUB_ACTION_SQL_SERVER_CONNECTION_STRING
28-
catalog: AdventureWorks2012
29-
extra-params: ""
30-
3137
- name: Restore AdventureWorks2012 from backup
32-
shell: pwsh
3338
run: |
34-
$bak = "$env:TEMP\AdventureWorks2012.bak"
35-
Write-Host "Downloading AdventureWorks2012.bak..."
36-
Invoke-WebRequest `
37-
-Uri "https://github.com/Microsoft/sql-server-samples/releases/download/adventureworks/AdventureWorks2012.bak" `
38-
-OutFile $bak
39-
40-
# Parse server name from connection string
41-
$cs = $env:GITHUB_ACTION_SQL_SERVER_CONNECTION_STRING
42-
if ($cs -match "(?i)(?:Data Source|Server)\s*=\s*([^;]+)") {
43-
$server = $Matches[1].Trim()
44-
} else {
45-
throw "Cannot parse server from: $cs"
46-
}
47-
Write-Host "Restoring AdventureWorks2012 on '$server'..."
48-
49-
# Restore over the empty database created by install-sql-server-action
50-
sqlcmd -S "$server" -E -Q "RESTORE DATABASE [AdventureWorks2012] FROM DISK = N'$bak' WITH REPLACE, NOUNLOAD, STATS = 5"
39+
BAK=/tmp/AdventureWorks2012.bak
40+
echo "Downloading AdventureWorks2012.bak..."
41+
curl -L -o "$BAK" \
42+
"https://github.com/Microsoft/sql-server-samples/releases/download/adventureworks/AdventureWorks2012.bak"
43+
44+
CONTAINER_ID=$(docker ps -q --filter "ancestor=mcr.microsoft.com/mssql/server:2022-latest")
45+
echo "SQL Server container: $CONTAINER_ID"
46+
47+
echo "Copying backup into container..."
48+
docker cp "$BAK" "$CONTAINER_ID:/var/opt/mssql/data/AdventureWorks2012.bak"
49+
50+
echo "Restoring AdventureWorks2012..."
51+
docker exec "$CONTAINER_ID" \
52+
/opt/mssql-tools18/bin/sqlcmd -S localhost -U SA -P 'YourStrong@Passw0rd' -No -Q \
53+
"RESTORE DATABASE [AdventureWorks2012]
54+
FROM DISK = N'/var/opt/mssql/data/AdventureWorks2012.bak'
55+
WITH MOVE 'AdventureWorks2012' TO '/var/opt/mssql/data/AdventureWorks2012_Data.mdf',
56+
MOVE 'AdventureWorks2012_log' TO '/var/opt/mssql/data/AdventureWorks2012_Log.ldf',
57+
REPLACE, NOUNLOAD, STATS = 5"
58+
59+
echo "GITHUB_ACTION_SQL_SERVER_CONNECTION_STRING=Data Source=localhost,1433;Initial Catalog=AdventureWorks2012;User ID=SA;Password=YourStrong@Passw0rd;TrustServerCertificate=True;" >> "$GITHUB_ENV"
5160
5261
- name: Build
53-
run: ./build.cmd
62+
run: ./build.sh

0 commit comments

Comments
 (0)