From 7a111bf8632b151bd35f68ed8bfa31a99fd9d524 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Mon, 26 Aug 2019 11:46:46 +0200 Subject: [PATCH] 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 --- azure-pipelines-release.yml | 58 +++++++++++++++++++++++-------------- 1 file changed, 36 insertions(+), 22 deletions(-) diff --git a/azure-pipelines-release.yml b/azure-pipelines-release.yml index 2e537fbb774..fab10bfeee6 100644 --- a/azure-pipelines-release.yml +++ b/azure-pipelines-release.yml @@ -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'