mirror of
https://github.com/aljazceru/addons.git
synced 2026-02-11 16:14:20 +01:00
Add example for add-on build
This commit is contained in:
@@ -32,6 +32,7 @@ jobs:
|
||||
done
|
||||
displayName: 'Run Hadolint'
|
||||
|
||||
|
||||
- job: 'ShellCheck'
|
||||
pool:
|
||||
vmImage: 'ubuntu-16.04'
|
||||
@@ -55,3 +56,32 @@ jobs:
|
||||
cat **/*.json | jq '.'
|
||||
displayName: 'Run JQ'
|
||||
|
||||
|
||||
- job: 'cec_scan'
|
||||
condition: and(eq(variables['Build.SourceBranchName'], 'master'), succeeded('Hadolint'), succeeded('ShellCheck'), succeeded('JQ'))
|
||||
dependsOn:
|
||||
- 'Hadolint'
|
||||
- 'ShellCheck'
|
||||
- 'JQ'
|
||||
timeoutInMinutes: 120
|
||||
pool:
|
||||
vmImage: 'ubuntu-16.04'
|
||||
strategy:
|
||||
maxParallel: 3
|
||||
matrix:
|
||||
amd64:
|
||||
buildArch: 'amd64'
|
||||
i386:
|
||||
buildArch: 'i386'
|
||||
armhf:
|
||||
buildArch: 'armhf'
|
||||
armv7:
|
||||
buildArch: 'armv7'
|
||||
aarch64:
|
||||
buildArch: 'aarch64'
|
||||
steps:
|
||||
- template: template-addon.yml
|
||||
parameters:
|
||||
addonFolder: 'cec_scan'
|
||||
addonImage: 'addon-cec_scan'
|
||||
buildArch: $(buildArch)
|
||||
|
||||
30
template-addon.yml
Normal file
30
template-addon.yml
Normal file
@@ -0,0 +1,30 @@
|
||||
|
||||
parameters:
|
||||
addonFolder: ''
|
||||
addonImage: ''
|
||||
buildArch: ''
|
||||
|
||||
steps:
|
||||
- script: sudo apt-get install -y jq curl
|
||||
displayName: 'Install JQ/curl'
|
||||
- script: sudo docker login -u $(dockerUser) -p $(dockerPassword)
|
||||
displayName: 'Docker hub login'
|
||||
- script: sudo docker pull homeassistant/amd64-builder:$(versionBuilder)
|
||||
displayName: 'Install Builder'
|
||||
- script: |
|
||||
tag="$(cat /data/${{ parameters.addonFolder }}/config.json | jq -e ".version")"
|
||||
metadata="$(curl -s https://hub.docker.com/v2/repositories/homeassistant/${{ parameters.buildArch }}-${{ parameters.addonImage }}/tags/$tag/ | jq -e ".name // empty")"
|
||||
|
||||
# Version Exists
|
||||
if [ "$metadata" = "$tag" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Build new version
|
||||
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.buildArch }}" -t /data/${{ parameters.addonFolder }} \
|
||||
--docker-hub homeassistant
|
||||
displayName: 'Build Python base-images'
|
||||
Reference in New Issue
Block a user