Use multistage

This commit is contained in:
Pascal Vizeli 2019-06-24 19:04:52 +02:00
parent 626a9f06c4
commit 5291e6c1f3

View File

@ -21,14 +21,16 @@ variables:
- name: versionBuilder - name: versionBuilder
value: '4.4' value: '4.4'
- name: versionWheels - name: versionWheels
value: '0.10' value: '0.11'
- group: docker - group: docker
- group: wheels - group: wheels
jobs: stages:
- job: 'Tox' - stage: 'Test'
jobs:
- job: 'Tox'
pool: pool:
vmImage: 'ubuntu-latest' vmImage: 'ubuntu-latest'
steps: steps:
@ -40,9 +42,7 @@ jobs:
displayName: 'Install Tox' displayName: 'Install Tox'
- script: tox - script: tox
displayName: 'Run Tox' displayName: 'Run Tox'
- job: 'Black'
- job: 'Black'
pool: pool:
vmImage: 'ubuntu-latest' vmImage: 'ubuntu-latest'
steps: steps:
@ -54,9 +54,7 @@ jobs:
displayName: 'Install black' displayName: 'Install black'
- script: black --check hassio tests - script: black --check hassio tests
displayName: 'Run Black' displayName: 'Run Black'
- job: 'JQ'
- job: 'JQ'
pool: pool:
vmImage: 'ubuntu-latest' vmImage: 'ubuntu-latest'
steps: steps:
@ -66,9 +64,7 @@ jobs:
shopt -s globstar shopt -s globstar
cat **/*.json | jq '.' cat **/*.json | jq '.'
displayName: 'Run JQ' displayName: 'Run JQ'
- job: 'Hadolint'
- job: 'Hadolint'
pool: pool:
vmImage: 'ubuntu-latest' vmImage: 'ubuntu-latest'
steps: steps:
@ -80,8 +76,9 @@ jobs:
hadolint/hadolint:$(versionHadolint) < Dockerfile hadolint/hadolint:$(versionHadolint) < Dockerfile
displayName: 'Run Hadolint' displayName: 'Run Hadolint'
- stage: 'Wheels'
- job: 'Wheels' jobs:
- job: 'Wheels'
condition: eq(variables['Build.SourceBranchName'], 'dev') condition: eq(variables['Build.SourceBranchName'], 'dev')
timeoutInMinutes: 360 timeoutInMinutes: 360
pool: pool:
@ -131,8 +128,9 @@ jobs:
--remote wheels@$(wheelsHost):/opt/wheels --remote wheels@$(wheelsHost):/opt/wheels
displayName: 'Run wheels build' displayName: 'Run wheels build'
- stage: 'Deploy'
- job: 'VersionValidate' jobs:
- job: 'VersionValidate'
condition: or(startsWith(variables['Build.SourceBranch'], 'refs/tags'), eq(variables['Build.SourceBranchName'], 'dev')) condition: or(startsWith(variables['Build.SourceBranch'], 'refs/tags'), eq(variables['Build.SourceBranchName'], 'dev'))
pool: pool:
vmImage: 'ubuntu-latest' vmImage: 'ubuntu-latest'
@ -152,13 +150,8 @@ jobs:
exit 1 exit 1
fi fi
displayName: 'Check version of branch/tag' displayName: 'Check version of branch/tag'
- job: 'Release'
- job: 'Release'
dependsOn: dependsOn:
- 'JQ'
- 'Tox'
- 'Hadolint'
- 'VersionValidate' - 'VersionValidate'
pool: pool:
vmImage: 'ubuntu-latest' vmImage: 'ubuntu-latest'