91 lines
2.5 KiB
YAML
91 lines
2.5 KiB
YAML
# https://dev.azure.com/home-assistant
|
|
|
|
trigger:
|
|
batch: true
|
|
branches:
|
|
include:
|
|
- dev
|
|
tags:
|
|
include:
|
|
- '*'
|
|
exclude:
|
|
- untagged*
|
|
pr:
|
|
- dev
|
|
|
|
variables:
|
|
- name: versionHadolint
|
|
value: 'v1.16.3'
|
|
- name: versionShellCheck
|
|
value: 'v0.6.0'
|
|
|
|
jobs:
|
|
|
|
- job: 'Hadolint'
|
|
pool:
|
|
vmImage: 'ubuntu-16.04'
|
|
steps:
|
|
- script: sudo docker pull hadolint/hadolint:$(versionHadolint)
|
|
displayName: 'Install Hadolint'
|
|
- script: |
|
|
sudo docker run --rm -i \
|
|
-v $(pwd)/.hadolint.yaml:/.hadolint.yaml:ro \
|
|
hadolint/hadolint:$(versionHadolint) < Dockerfile
|
|
displayName: 'Run Hadolint'
|
|
|
|
|
|
- job: 'ShellCheck'
|
|
pool:
|
|
vmImage: 'ubuntu-16.04'
|
|
steps:
|
|
- script: sudo docker pull koalaman/shellcheck:$(versionShellCheck)
|
|
displayName: 'Install ShellCheck'
|
|
- script: |
|
|
sudo docker run --rm -i \
|
|
-v $(pwd):/mnt:ro koalaman/shellcheck:$(versionShellCheck) \
|
|
scripts/*.sh \
|
|
buildroot-external/scripts/*.sh \
|
|
buildroot-external/board/**/*.sh \
|
|
buildroot-external/rootfs-overlay/usr/sbin/* \
|
|
buildroot-external/rootfs-overlay/usr/libexec/* \
|
|
buildroot-external/rootfs-overlay/usr/lib/rauc/*
|
|
displayName: 'Run ShellCheck'
|
|
|
|
# condition: and(startsWith(variables['Build.SourceBranch'], 'refs/tags'), succeeded('ShellCheck'))
|
|
- job: 'Release'
|
|
condition: and(eq(variables['Build.SourceBranchName'], 'dev'), succeeded('ShellCheck'))
|
|
dependsOn: 'ShellCheck'
|
|
pool:
|
|
vmImage: 'ubuntu-16.04'
|
|
container: 'ubuntu:18.04'
|
|
strategy:
|
|
maxParallel: 1
|
|
matrix:
|
|
OpenVirtualAppliance:
|
|
board: 'ova'
|
|
steps:
|
|
- script: |
|
|
set -e
|
|
|
|
apt-get update
|
|
apt-get install -y --no-install-recommends \
|
|
apt-transport-https ca-certificates curl \
|
|
gpg-agent software-properties-common
|
|
|
|
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
|
|
add-apt-repository "deb https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
|
|
|
|
apt-get update
|
|
apt-get install -y --no-install-recommends \
|
|
docker-ce
|
|
displayName: 'Setup docker'
|
|
- script: |
|
|
apt-get install -y --no-install-recommends \
|
|
wget patch vim cpio python unzip rsync bc bzip2 ncurses-dev \
|
|
git make g++ file perl bash binutils locales qemu-utils bison flex
|
|
displayName: 'Setup buildroot'
|
|
- script: dockerd -s vfs &> /dev/null &
|
|
displayName: 'Start docker'
|
|
- script: make $(board)
|
|
displayName: 'Build $(board)'
|