Skip to content

Commit b44f60b

Browse files
committed
Refactored CI pipeline
1 parent de77005 commit b44f60b

File tree

5 files changed

+115
-97
lines changed

5 files changed

+115
-97
lines changed

.ci/tasks/build.yaml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
platform: linux
3+
image_resource:
4+
type: docker-image
5+
source:
6+
repository: mcr.microsoft.com/dotnet/core/sdk
7+
tag: 3.1
8+
inputs:
9+
- name: source
10+
params:
11+
PROJECT:
12+
run:
13+
path: /bin/sh
14+
args:
15+
- -c
16+
- |
17+
cd "source/${PROJECT}"
18+
dotnet build /p:GeneratePackageOnBuild=False -c Release "${PROJECT}.csproj"

.ci/tasks/publish-nugget.yaml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
---
2+
platform: linux
3+
image_resource:
4+
type: docker-image
5+
source:
6+
repository: mcr.microsoft.com/dotnet/core/sdk
7+
tag: 3.1
8+
inputs:
9+
- name: source
10+
- name: version
11+
12+
params:
13+
NUGGET_API_KEY: ((nugget_api_key))
14+
PROJECT:
15+
NUGGET_TAGS:
16+
17+
run:
18+
path: /bin/sh
19+
args:
20+
- -c
21+
- -e
22+
- |
23+
VERSION=$(cat version/version)
24+
cd "source/${PROJECT}"
25+
dotnet build /p:GeneratePackageOnBuild=False /p:AssemblyVersion=${VERSION} /p:FileVersion=${VERSION} -c Release "${PROJECT}.csproj"
26+
dotnet pack /p:PackageVersion=${VERSION} /p:PackageTags="${NUGGET_TAGS} $(cat ../.git/ref)" /p:PackageReleaseNotes="$(cat ../.git/commit_message)" --no-restore -c Release -o out "${PROJECT}.csproj"
27+
dotnet nuget push out/${PROJECT}.${VERSION}.nupkg -k ${NUGGET_API_KEY} -s https://api.nuget.org/v3/index.json

PdfSharpCore/.ci/pipeline.yml

Lines changed: 70 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,51 @@
11
---
2+
job: &job
3+
public: false
4+
serial: true
5+
6+
get_source: &get_source
7+
get: source
8+
trigger: true
9+
10+
get_source_publish: &get_source_publish
11+
<<: *get_source
12+
trigger: false
13+
passed:
14+
- TestBuild
15+
16+
get_version: &get_version
17+
get: version
18+
trigger: false
19+
20+
put_version: &put_version
21+
put: version
22+
attempts: 3
23+
params:
24+
file: version/version
25+
26+
project: &project
27+
PROJECT: PdfSharpCore
28+
29+
task_publish_nugget: &task_publish_nugget
30+
task: publish-nugget
31+
file: source/.ci/tasks/publish-nugget.yaml
32+
attempts: 3
33+
params:
34+
<<: *project
35+
NUGGET_API_KEY: ((nugget_api_key))
36+
NUGGET_TAGS: "PdfSharp .NETCore"
37+
238
#-----------------------------------------------------------------------------------------------------------------------
339
# Resources
440
#-----------------------------------------------------------------------------------------------------------------------
541
resources:
6-
742
- name: source
843
type: git
944
source:
1045
uri: https://github.com/ststeiger/PdfSharpCore.git
1146
branch: master
47+
paths:
48+
- PdfSharpCore
1249

1350
- name: version
1451
type: semver
@@ -19,81 +56,56 @@ resources:
1956
region_name: us-west-2
2057
access_key_id: ((access_key_id))
2158
secret_access_key: ((secret_access_key))
59+
2260
#-----------------------------------------------------------------------------------------------------------------------
2361
# Jobs
2462
#-----------------------------------------------------------------------------------------------------------------------
2563
jobs:
2664

2765
# Would be replace with proper Unit/Integration tests
2866
- name: TestBuild
29-
public: false
30-
serial: true
67+
<<: *job
3168
plan:
32-
- get: source
33-
trigger: true
34-
35-
- task: build-nugget
36-
file: source/PdfSharpCore/.ci/tasks/build.yaml
69+
- <<: *get_source
70+
- task: build-project
71+
file: source/.ci/tasks/build.yaml
72+
attempts: 3
73+
params:
74+
<<: *project
3775

3876
- name: PublishPatch
39-
public: false
40-
serial: true
77+
<<: *job
4178
plan:
42-
- get: source
79+
- in_parallel:
80+
- <<: *get_source_publish
4381
trigger: true
44-
passed:
45-
- TestBuild
46-
47-
- get: version
48-
trigger: false
49-
params: {bump: patch}
50-
51-
- put: version
52-
params: {file: version/version}
53-
54-
- task: publish-nugget
55-
file: source/PdfSharpCore/.ci/tasks/publish-nugget.yaml
82+
- <<: *get_version
5683
params:
57-
NUGGET_API_KEY: ((nugget_api_key))
84+
bump: patch
85+
86+
- <<: *put_version
87+
- <<: *task_publish_nugget
5888

5989
- name: PublishMinor
60-
public: false
61-
serial: false
90+
<<: *job
6291
plan:
63-
- get: source
64-
trigger: false
65-
passed:
66-
- TestBuild
67-
68-
- get: version
69-
trigger: false
70-
params: {bump: minor}
71-
72-
- put: version
73-
params: {file: version/version}
74-
75-
- task: publish-nugget
76-
file: source/PdfSharpCore/.ci/tasks/publish-nugget.yaml
92+
- in_parallel:
93+
- <<: *get_source_publish
94+
- <<: *get_version
7795
params:
78-
NUGGET_API_KEY: ((nugget_api_key))
96+
bump: minor
97+
98+
- <<: *put_version
99+
- <<: *task_publish_nugget
79100

80101
- name: PublishMajor
81-
public: false
82-
serial: true
102+
<<: *job
83103
plan:
84-
- get: source
85-
trigger: false
86-
passed:
87-
- TestBuild
88-
89-
- get: version
90-
trigger: false
91-
params: {bump: major}
92-
93-
- put: version
94-
params: {file: version/version}
95-
96-
- task: publish-nugget
97-
file: source/PdfSharpCore/.ci/tasks/publish-nugget.yaml
104+
- in_parallel:
105+
- <<: *get_source_publish
106+
- <<: *get_version
98107
params:
99-
NUGGET_API_KEY: ((nugget_api_key))
108+
bump: major
109+
110+
- <<: *put_version
111+
- <<: *task_publish_nugget

PdfSharpCore/.ci/tasks/build.yaml

Lines changed: 0 additions & 16 deletions
This file was deleted.

PdfSharpCore/.ci/tasks/publish-nugget.yaml

Lines changed: 0 additions & 23 deletions
This file was deleted.

0 commit comments

Comments
 (0)