Set up CI with Azure Pipelines (#1)

* Set up CI with Azure Pipelines

[skip ci]
This commit is contained in:
Arne Petersen
2019-05-30 02:58:53 +02:00
committed by GitHub
parent beea827638
commit b7f9aca159
3 changed files with 75 additions and 1 deletions

View File

@@ -0,0 +1,22 @@
# This azure pipeline template build add-ons
parameters:
addon: ''
arch: ''
steps:
- task: Docker@2
inputs:
containerRegistry: 'DockerHub'
command: 'login'
displayName: 'DockerHub 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) \
--addon ${{ parameters.arch }} -t /data/${{ parameters.addon }} \
--docker-hub petersendev --docker-hub-check
displayName: 'Build ${{ parameters.addon }}'

52
azure-pipelines.yml Normal file
View File

@@ -0,0 +1,52 @@
# https://aka.ms/yaml
trigger:
- master
variables:
versionHadolint: 'v1.16.3'
versionBuilder: '2.0'
jobs:
- job: 'Hadolint'
pool:
vmImage: 'ubuntu-16.04'
steps:
- script: sudo docker pull hadolint/hadolint:$(versionHadolint)
displayName: 'Install Hadolint'
- script: |
set -e
shopt -s globstar
for dockerfile in **/Dockerfile
do
echo "Linting: $dockerfile"
sudo docker run --rm -i \
-v $(pwd)/.hadolint.yaml:/.hadolint.yaml:ro \
hadolint/hadolint:$(versionHadolint) < "$dockerfile"
done
displayName: 'Run Hadolint'
- job: 'JQ'
pool:
vmImage: 'ubuntu-16.04'
steps:
- script: sudo apt-get install -y jq
displayName: 'Install JQ'
- bash: |
shopt -s globstar
cat **/*.json | jq '.'
displayName: 'Run JQ'
- job: 'znc'
condition: and(eq(variables['Build.SourceBranchName'], 'master'), succeeded('Hadolint'), succeeded('JQ'))
dependsOn:
- 'Hadolint'
- 'JQ'
pool:
vmImage: 'ubuntu-16.04'
steps:
- template: .azure-pipelines/addon-template.yml
parameters:
addon: 'znc'
arch: '--all'

View File

@@ -1,4 +1,4 @@
FROM linuxserver/znc
FROM linuxserver/znc:znc-1.7.3-ls14
# use /data instead of /config for hass.io environment
RUN sed -i "s|/config|/config/znc|g" /etc/services.d/znc/run \