Nightly builds (#26204)

* Nightly docker builds / Hass.io dev HA

* use same style

* Finish nightly build

* Update builder version

* Fix style

* fix style part 2

* Last one

* Fix order
pull/26216/head
Pascal Vizeli 2019-08-26 11:46:46 +02:00 committed by GitHub
parent 0c49c82015
commit 7a111bf863
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 36 additions and 22 deletions

View File

@ -3,11 +3,18 @@
trigger:
tags:
include:
- '*'
- '*'
pr: none
schedules:
- cron: "0 1 * * *"
displayName: "nightly builds"
branches:
include:
- dev
always: true
variables:
- name: versionBuilder
value: '6.1'
value: '6.3'
- group: docker
- group: github
- group: twine
@ -18,12 +25,13 @@ resources:
name: 'home-assistant/ci-azure'
endpoint: 'home-assistant'
stages:
- stage: 'Validate'
jobs:
- template: templates/azp-job-version.yaml@azure
parameters:
ignoreDev: true
- job: 'Permission'
pool:
vmImage: 'ubuntu-latest'
@ -42,10 +50,12 @@ stages:
echo "${created_by} is not allowed to create an release!"
exit 1
displayName: 'Check rights'
condition: and(succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/tags'))
- stage: 'Build'
jobs:
- job: 'ReleasePython'
condition: startsWith(variables['Build.SourceBranch'], 'refs/tags')
pool:
vmImage: 'ubuntu-latest'
steps:
@ -86,6 +96,7 @@ stages:
buildArch: 'aarch64'
buildMachine: 'qemuarm-64,raspberrypi3-64,raspberrypi4-64,odroid-c2,orangepi-prime'
steps:
- template: templates/azp-step-ha-version.yaml@azure
- script: sudo docker login -u $(dockerUser) -p $(dockerPassword)
displayName: 'Docker hub login'
- script: sudo docker pull homeassistant/amd64-builder:$(versionBuilder)
@ -94,10 +105,11 @@ stages:
set -e
sudo docker run --rm --privileged \
-v ~/.docker:/root/.docker \
-v ~/.docker:/root/.docker:rw \
-v /run/docker.sock:/run/docker.sock:rw \
-v $(pwd):/homeassistant:ro \
homeassistant/amd64-builder:$(versionBuilder) \
--homeassistant $(Build.SourceBranchName) "--$(buildArch)" \
--homeassistant $(homeassistantRelease) "--$(buildArch)" \
-r https://github.com/home-assistant/hassio-homeassistant \
-t generic --docker-hub homeassistant
@ -105,7 +117,7 @@ stages:
-v ~/.docker:/root/.docker \
-v /run/docker.sock:/run/docker.sock:rw \
homeassistant/amd64-builder:$(versionBuilder) \
--homeassistant-machine "$(Build.SourceBranchName)=$(buildMachine)" \
--homeassistant-machine "$(homeassistantRelease)=$(buildMachine)" \
-r https://github.com/home-assistant/hassio-homeassistant \
-t machine --docker-hub homeassistant
displayName: 'Build Release'
@ -116,6 +128,7 @@ stages:
pool:
vmImage: 'ubuntu-latest'
steps:
- template: templates/azp-step-ha-version.yaml@azure
- script: |
sudo apt-get install -y --no-install-recommends \
git jq curl
@ -129,7 +142,7 @@ stages:
- script: |
set -e
version="$(Build.SourceBranchName)"
version="$(homeassistantRelease)"
git clone https://github.com/home-assistant/hassio-version
cd hassio-version
@ -138,11 +151,11 @@ stages:
beta_version="$(jq --raw-output '.homeassistant.default' beta.json)"
stable_version="$(jq --raw-output '.homeassistant.default' stable.json)"
if [[ "$version" =~ b ]]; then
if [[ "$version" =~ d ]]; then
sed -i "s|$dev_version|$version|g" dev.json
elif [[ "$version" =~ b ]]; then
sed -i "s|$beta_version|$version|g" beta.json
else
sed -i "s|$dev_version|$version|g" dev.json
sed -i "s|$beta_version|$version|g" beta.json
sed -i "s|$stable_version|$version|g" stable.json
fi
@ -154,6 +167,7 @@ stages:
pool:
vmImage: 'ubuntu-latest'
steps:
- template: templates/azp-step-ha-version.yaml@azure
- script: |
mkdir -p ~/.docker
echo '{ "experimental": "enabled" }' > .docker/config.json
@ -197,26 +211,26 @@ stages:
sudo docker --config .docker manifest push --purge homeassistant/home-assistant:${tag_l}
}
sudo docker pull homeassistant/amd64-homeassistant:$(Build.SourceBranchName)
sudo docker pull homeassistant/i386-homeassistant:$(Build.SourceBranchName)
sudo docker pull homeassistant/armhf-homeassistant:$(Build.SourceBranchName)
sudo docker pull homeassistant/armv7-homeassistant:$(Build.SourceBranchName)
sudo docker pull homeassistant/aarch64-homeassistant:$(Build.SourceBranchName)
sudo docker pull homeassistant/amd64-homeassistant:$(homeassistantRelease)
sudo docker pull homeassistant/i386-homeassistant:$(homeassistantRelease)
sudo docker pull homeassistant/armhf-homeassistant:$(homeassistantRelease)
sudo docker pull homeassistant/armv7-homeassistant:$(homeassistantRelease)
sudo docker pull homeassistant/aarch64-homeassistant:$(homeassistantRelease)
# Create version tag
create_manifest "$(Build.SourceBranchName)" "$(Build.SourceBranchName)"
create_manifest "$(homeassistantRelease)" "$(homeassistantRelease)"
# Create general tags
if [[ "$version" =~ d ]]; then
create_manifest "dev" "$(Build.SourceBranchName)"
create_manifest "dev" "$(homeassistantRelease)"
elif [[ "$version" =~ b ]]; then
create_manifest "beta" "$(Build.SourceBranchName)"
create_manifest "rc" "$(Build.SourceBranchName)"
create_manifest "beta" "$(homeassistantRelease)"
create_manifest "rc" "$(homeassistantRelease)"
else
create_manifest "stable" "$(Build.SourceBranchName)"
create_manifest "latest" "$(Build.SourceBranchName)"
create_manifest "beta" "$(Build.SourceBranchName)"
create_manifest "rc" "$(Build.SourceBranchName)"
create_manifest "stable" "$(homeassistantRelease)"
create_manifest "latest" "$(homeassistantRelease)"
create_manifest "beta" "$(homeassistantRelease)"
create_manifest "rc" "$(homeassistantRelease)"
fi
displayName: 'Create Meta-Image'