Skip to content

Commit 8a3f824

Browse files
authored
Merge pull request #22 from teesofttech/feature/11-ci-workflow
Configure CI test and package validation workflow
2 parents 45fe40f + 61985e3 commit 8a3f824

2 files changed

Lines changed: 32 additions & 6 deletions

File tree

.github/workflows/ci.yml

Lines changed: 31 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,15 @@ on:
55
push:
66
branches:
77
- main
8+
workflow_dispatch:
9+
10+
concurrency:
11+
group: ci-${{ github.workflow }}-${{ github.ref }}
12+
cancel-in-progress: true
813

914
jobs:
10-
build:
15+
test:
16+
name: Build, test, and pack
1117
runs-on: ubuntu-latest
1218

1319
steps:
@@ -20,10 +26,30 @@ jobs:
2026
dotnet-version: 8.0.x
2127

2228
- name: Restore
23-
run: dotnet restore
29+
run: dotnet restore Termii.SDK.sln
2430

2531
- name: Build
26-
run: dotnet build --configuration Release --no-restore
32+
run: dotnet build Termii.SDK.sln --configuration Release --no-restore
33+
34+
- name: Unit tests
35+
run: dotnet test tests/Termii.Tests/Termii.Tests.csproj --configuration Release --no-build --logger "trx;LogFileName=unit-tests.trx"
36+
37+
- name: Integration tests
38+
run: dotnet test tests/Termii.IntegrationTests/Termii.IntegrationTests.csproj --configuration Release --no-build --logger "trx;LogFileName=integration-tests.trx"
39+
40+
- name: Pack
41+
run: dotnet pack src/Termii/Termii.csproj --configuration Release --no-build --output artifacts/packages
2742

28-
- name: Test
29-
run: dotnet test --configuration Release --no-build
43+
- name: Upload test results
44+
uses: actions/upload-artifact@v4
45+
if: always()
46+
with:
47+
name: test-results
48+
path: |
49+
**/TestResults/*.trx
50+
51+
- name: Upload package artifact
52+
uses: actions/upload-artifact@v4
53+
with:
54+
name: nuget-package
55+
path: artifacts/packages/*.nupkg

docs/API_COVERAGE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ The Termii docs describe a REST/JSON API and state that each account has its own
3232
| Error handling and request validation | Implemented | #6, PR #19 |
3333
| Reusable fake HTTP test helpers and opt-in live test conventions | Implemented | #10, PR #20 |
3434
| README endpoint examples | Planned | #12 |
35-
| CI build/test/package validation | Planned | #11 |
35+
| CI build/test/package validation | In progress | #11 |
3636
| NuGet package metadata and publishing workflow | Planned | #8 |
3737
| First GitHub Release and NuGet publish | Planned | #13 |
3838

0 commit comments

Comments
 (0)