diff --git a/.azure-pipelines/addon-template.yml b/.azure-pipelines/addon-template.yml new file mode 100644 index 000000000..1d9289cf0 --- /dev/null +++ b/.azure-pipelines/addon-template.yml @@ -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 }}' \ No newline at end of file diff --git a/azure-pipelines.yml b/azure-pipelines.yml new file mode 100644 index 000000000..2e4caae3b --- /dev/null +++ b/azure-pipelines.yml @@ -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' \ No newline at end of file diff --git a/znc/Dockerfile b/znc/Dockerfile index c3f55bcb8..53ec7bf26 100644 --- a/znc/Dockerfile +++ b/znc/Dockerfile @@ -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 \