Skip to content

Commit 1e969cb

Browse files
committed
(test) multi-stage
1 parent d9a91a1 commit 1e969cb

File tree

3 files changed

+79
-56
lines changed

3 files changed

+79
-56
lines changed

.artifactignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
**/*
2+
!**/*.cake
3+
!**/Dockerfile
4+
!build.ps1
5+
!build.config
6+
!*.yml
7+
!*.yaml

azure-pipelines.yml

Lines changed: 37 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,38 @@
1-
jobs:
2-
- template: build/tmpl/jobs.yml
3-
parameters:
4-
name: macOS
5-
vmImage: 'macOS-latest'
1+
stages:
2+
- stage: Package
3+
jobs:
4+
- job: Package
5+
strategy:
6+
matrix:
7+
'Windows':
8+
VM_IMAGE: 'windows-2019'
9+
'Linux':
10+
VM_IMAGE: 'Ubuntu 16.04'
11+
'macOS':
12+
VM_IMAGE: 'macOS-latest'
13+
pool:
14+
vmImage: $(VM_IMAGE)
15+
steps:
16+
- template: build/tmpl/jobs.yml
617

7-
- template: build/tmpl/jobs.yml
8-
parameters:
9-
name: Linux
10-
vmImage: 'Ubuntu 16.04'
11-
12-
- template: build/tmpl/jobs.yml
13-
parameters:
14-
name: Windows
15-
vmImage: 'windows-2019'
18+
- stage: Dir
19+
condition: succeeded()
20+
jobs:
21+
- job: Dir
22+
strategy:
23+
matrix:
24+
'Windows':
25+
VM_IMAGE: 'windows-2019'
26+
'Linux':
27+
VM_IMAGE: 'Ubuntu 16.04'
28+
pool:
29+
vmImage: $(VM_IMAGE)
30+
steps:
31+
- checkout: none
32+
- task: DownloadPipelineArtifact@2
33+
inputs:
34+
source: current
35+
path: $(Build.SourcesDirectory)
36+
artifact: artifacts
37+
- powershell: dir $(Build.SourcesDirectory); dir $(Build.SourcesDirectory)/build;
38+
displayName: 'Dir build'

build/tmpl/jobs.yml

Lines changed: 35 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,35 @@
1-
parameters:
2-
name: '' # defaults for any parameters that aren't specified
3-
vmImage: ''
4-
jobs:
5-
- job: ${{ parameters.name }}
6-
pool:
7-
vmImage: ${{ parameters.vmImage }}
8-
steps:
9-
- task: DotNetCoreInstaller@0
10-
condition: eq( variables['Agent.OS'], 'Darwin' )
11-
displayName: 'Use .NET Core sdk 2.x'
12-
inputs:
13-
version: '2.2.107'
14-
packageType: sdk
15-
- task: UseRubyVersion@0
16-
condition: ne( variables['Agent.OS'], 'Darwin' )
17-
displayName: 'Use .Ruby >= 2.5'
18-
inputs:
19-
versionSpec: '>= 2.5'
20-
addToPath: true # Optional
21-
- powershell: ./build.ps1 -script build.cake -target Default
22-
displayName: 'Cake build'
23-
env:
24-
GITHUB_TOKEN: $(GITHUB_TOKEN)
25-
DOCKER_USERNAME: $(DOCKER_USERNAME)
26-
DOCKER_PASSWORD: $(DOCKER_PASSWORD)
27-
NUGET_API_KEY: $(NUGET_API_KEY)
28-
NUGET_API_URL: $(NUGET_API_URL)
29-
CHOCOLATEY_API_KEY: $(CHOCOLATEY_API_KEY)
30-
CHOCOLATEY_API_URL: $(CHOCOLATEY_API_URL)
31-
RUBY_GEM_API_KEY: $(RUBY_GEM_API_KEY)
32-
TFX_TOKEN: $(TFX_TOKEN)
33-
CODECOV_TOKEN: $(CODECOV_TOKEN)
34-
ENABLED_UNIT_TESTS: $(ENABLED_UNIT_TESTS)
35-
ENABLED_PUBLISH_GEM: $(ENABLED_PUBLISH_GEM)
36-
ENABLED_PUBLISH_TFS: $(ENABLED_PUBLISH_TFS)
37-
ENABLED_PUBLISH_NUGET: $(ENABLED_PUBLISH_NUGET)
38-
ENABLED_PUBLISH_CHOCOLATEY: $(ENABLED_PUBLISH_CHOCOLATEY)
39-
ENABLED_PUBLISH_DOCKER: $(ENABLED_PUBLISH_DOCKER)
40-
- publish: $(System.DefaultWorkingDirectory)/artifacts
41-
condition: eq( variables['Agent.OS'], 'Windows_NT' )
42-
artifact: artifacts
1+
steps:
2+
- task: DotNetCoreInstaller@0
3+
condition: eq( variables['Agent.OS'], 'Darwin' )
4+
displayName: 'Use .NET Core sdk 2.x'
5+
inputs:
6+
version: '2.2.107'
7+
packageType: sdk
8+
- task: UseRubyVersion@0
9+
condition: ne( variables['Agent.OS'], 'Darwin' )
10+
displayName: 'Use .Ruby >= 2.5'
11+
inputs:
12+
versionSpec: '>= 2.5'
13+
addToPath: true # Optional
14+
- powershell: ./build.ps1 -script build.cake -target Pack
15+
displayName: 'Cake build'
16+
env:
17+
GITHUB_TOKEN: $(GITHUB_TOKEN)
18+
DOCKER_USERNAME: $(DOCKER_USERNAME)
19+
DOCKER_PASSWORD: $(DOCKER_PASSWORD)
20+
NUGET_API_KEY: $(NUGET_API_KEY)
21+
NUGET_API_URL: $(NUGET_API_URL)
22+
CHOCOLATEY_API_KEY: $(CHOCOLATEY_API_KEY)
23+
CHOCOLATEY_API_URL: $(CHOCOLATEY_API_URL)
24+
RUBY_GEM_API_KEY: $(RUBY_GEM_API_KEY)
25+
TFX_TOKEN: $(TFX_TOKEN)
26+
CODECOV_TOKEN: $(CODECOV_TOKEN)
27+
ENABLED_UNIT_TESTS: $(ENABLED_UNIT_TESTS)
28+
ENABLED_PUBLISH_GEM: $(ENABLED_PUBLISH_GEM)
29+
ENABLED_PUBLISH_TFS: $(ENABLED_PUBLISH_TFS)
30+
ENABLED_PUBLISH_NUGET: $(ENABLED_PUBLISH_NUGET)
31+
ENABLED_PUBLISH_CHOCOLATEY: $(ENABLED_PUBLISH_CHOCOLATEY)
32+
ENABLED_PUBLISH_DOCKER: $(ENABLED_PUBLISH_DOCKER)
33+
- publish: $(System.DefaultWorkingDirectory)
34+
condition: eq( variables['Agent.OS'], 'Windows_NT' )
35+
artifact: artifacts

0 commit comments

Comments
 (0)