Skip to content

Commit 7df9c05

Browse files
authored
Refactor GitHub Actions workflow for .NET build and test
1 parent 5c99fa9 commit 7df9c05

1 file changed

Lines changed: 35 additions & 34 deletions

File tree

.github/workflows/dotnet.yml

Lines changed: 35 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -11,38 +11,39 @@ on:
1111
# Allows you to run this workflow manually from the Actions tab
1212
workflow_dispatch:
1313

14-
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
1514
jobs:
16-
# This workflow contains a single job called "build"
17-
build:
18-
# The type of runner that the job will run on
19-
runs-on: ubuntu-latest
20-
environment: Pipeline
21-
22-
# Steps represent a sequence of tasks that will be executed as part of the job
23-
steps:
24-
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
25-
- uses: actions/checkout@v4
26-
27-
- uses: actions/setup-dotnet@v1
28-
with:
29-
dotnet-version: '10.0.x' # SDK Version to use; x will use the latest version of the 3.1 channel
30-
31-
- name: Start containers
32-
run: docker compose -f "docker-compose.yml" up -d --build
33-
34-
- run: dotnet build Cleipnir.ResilientFunctions.sln
35-
36-
- run: dotnet run --project ./Stores/EnsureDatabaseConnections/EnsureDatabaseConnections.csproj --no-build
37-
38-
- run: dotnet test ./Core/Cleipnir.ResilientFunctions.Tests --no-build --logger "console;verbosity=detailed"
39-
40-
- run: dotnet test ./Stores/MariaDB/Cleipnir.ResilientFunctions.MariaDB.Tests --no-build --logger "console;verbosity=detailed"
41-
42-
- run: dotnet test ./Stores/PostgreSQL/Cleipnir.ResilientFunctions.PostgreSQL.Tests --no-build --logger "console;verbosity=detailed"
43-
44-
- run: dotnet test ./Stores/SqlServer/Cleipnir.ResilientFunctions.SqlServer.Tests --no-build --logger "console;verbosity=detailed"
45-
46-
- name: Stop containers
47-
if: always()
48-
run: docker compose -f "docker-compose.yml" down
15+
build:
16+
runs-on: ubuntu-latest
17+
steps:
18+
- uses: actions/checkout@v4
19+
- uses: actions/setup-dotnet@v1
20+
with:
21+
dotnet-version: '10.0.x'
22+
- run: dotnet build Cleipnir.ResilientFunctions.sln
23+
- uses: actions/upload-artifact@v4
24+
with:
25+
name: build
26+
path: .
27+
28+
test:
29+
needs: build
30+
runs-on: ubuntu-latest
31+
strategy:
32+
matrix:
33+
test-project:
34+
- Core/Cleipnir.ResilientFunctions.Tests
35+
- Stores/MariaDB/Cleipnir.ResilientFunctions.MariaDB.Tests
36+
- Stores/PostgreSQL/Cleipnir.ResilientFunctions.PostgreSQL.Tests
37+
- Stores/SqlServer/Cleipnir.ResilientFunctions.SqlServer.Tests
38+
steps:
39+
- uses: actions/download-artifact@v4
40+
with:
41+
name: build
42+
- uses: actions/setup-dotnet@v1
43+
with:
44+
dotnet-version: '10.0.x'
45+
- run: docker compose up -d
46+
- run: dotnet run --project ./Stores/EnsureDatabaseConnections/EnsureDatabaseConnections.csproj --no-build
47+
- run: dotnet test ./${{ matrix.test-project }} --no-build --logger "console;verbosity=detailed"
48+
- if: always()
49+
run: docker compose down

0 commit comments

Comments
 (0)