70 lines
1.9 KiB
YAML
70 lines
1.9 KiB
YAML
# https://dev.azure.com/home-assistant
|
|
|
|
trigger:
|
|
branches:
|
|
include:
|
|
- master
|
|
tags:
|
|
include:
|
|
- '*'
|
|
pr:
|
|
- master
|
|
|
|
variables:
|
|
- name: versionHadolint
|
|
value: 'v1.16.3'
|
|
- name: versionBuilder
|
|
value: '7.0'
|
|
- group: docker
|
|
|
|
jobs:
|
|
- job: 'Hadolint'
|
|
pool:
|
|
vmImage: 'ubuntu-latest'
|
|
steps:
|
|
- script: sudo docker pull hadolint/hadolint:$(versionHadolint)
|
|
displayName: 'Install Hadolint'
|
|
- script: |
|
|
sudo docker run --rm -i \
|
|
-v $(pwd)/.hadolint.yaml:/.hadolint.yaml:ro \
|
|
hadolint/hadolint:$(versionHadolint) < Dockerfile
|
|
displayName: 'Run Hadolint'
|
|
|
|
- job: 'ReleaseDEV'
|
|
condition: and(eq(variables['Build.SourceBranchName'], 'master'), succeeded())
|
|
dependsOn:
|
|
- 'Hadolint'
|
|
pool:
|
|
vmImage: 'ubuntu-latest'
|
|
steps:
|
|
- script: sudo docker login -u $(dockerUser) -p $(dockerPassword)
|
|
displayName: 'Docker hub login'
|
|
- script: sudo docker pull homeassistant/amd64-builder:$(versionBuilder)
|
|
displayName: 'Install Builder'
|
|
- script: |
|
|
sudo docker run --rm --privileged \
|
|
-v ~/.docker:/root/.docker \
|
|
-v /run/docker.sock:/run/docker.sock:rw -v $(pwd):/data:ro \
|
|
homeassistant/amd64-builder:$(versionBuilder) \
|
|
--generic dev --all -t /data
|
|
displayName: 'Build DEV'
|
|
|
|
- job: 'Release'
|
|
condition: and(startsWith(variables['Build.SourceBranch'], 'refs/tags'), succeeded())
|
|
dependsOn:
|
|
- 'Hadolint'
|
|
pool:
|
|
vmImage: 'ubuntu-latest'
|
|
steps:
|
|
- script: sudo docker login -u $(dockerUser) -p $(dockerPassword)
|
|
displayName: 'Docker hub login'
|
|
- script: sudo docker pull homeassistant/amd64-builder:$(versionBuilder)
|
|
displayName: 'Install Builder'
|
|
- script: |
|
|
sudo docker run --rm --privileged \
|
|
-v ~/.docker:/root/.docker \
|
|
-v /run/docker.sock:/run/docker.sock:rw -v $(pwd):/data:ro \
|
|
homeassistant/amd64-builder:$(versionBuilder) \
|
|
--generic $(Build.SourceBranchName) --all -t /data
|
|
displayName: 'Build Release'
|