-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.gitlab-ci.yml
72 lines (67 loc) · 1.99 KB
/
.gitlab-ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
stages:
- build
- test
- deploy
image: mcr.microsoft.com/dotnet/sdk:6.0
build:
stage: build
tags:
- docker
dependencies: []
artifacts:
name: $CI_JOB_NAME-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA
expire_in: 1 week
paths:
- "src/*/bin"
- "src/*/obj"
script:
- dotnet build src/HEAL.Bricks.Abstractions
- dotnet build src/HEAL.Bricks.Abstractions -c Release
- dotnet build src/HEAL.Bricks
- dotnet build src/HEAL.Bricks -c Release
# - dotnet build src/HEAL.Bricks.UI.WindowsForms
# - dotnet build src/HEAL.Bricks.UI.WindowsForms -c Release
- dotnet build src/HEAL.Bricks.Tests
- dotnet build-server shutdown
test:windows:
stage: test
tags:
- docker
dependencies:
- build
script:
- dotnet test src/HEAL.Bricks.Tests --no-build
test:linux:
stage: test
tags:
- docker
dependencies:
- build
artifacts:
reports:
coverage_report:
coverage_format: cobertura
path: "**/coverage.cobertura.xml"
script:
# explicit restore is required, because each new container has an empty package cache
- dotnet restore src/HEAL.Bricks.Tests
- dotnet test src/HEAL.Bricks.Tests --no-build --collect:"XPlat Code Coverage"
deploy:
stage: deploy
when: manual
tags:
- windows
dependencies:
- build
artifacts:
name: $CI_JOB_NAME-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA
expire_in: 1 month
paths:
- "nupkgs/*"
script:
- dotnet pack src/HEAL.Bricks.Abstractions -c Release --no-build --include-symbols --output nupkgs
- dotnet pack src/HEAL.Bricks -c Release --no-build --include-symbols --output nupkgs
# - dotnet pack src/HEAL.Bricks.UI.WindowsForms -c Release --no-build --include-symbols --output nupkgs
# - dotnet nuget add source "$CI_SERVER_URL/api/v4/projects/719/packages/nuget/index.json" --name gitlab --username gitlab-ci-token --password $CI_JOB_TOKEN --store-password-in-clear-text
# - cd nupkgs
# - dotnet nuget push "*.nupkg" --source gitlab