Files
operating-system/azure-pipelines.yml
2019-05-12 21:49:13 +02:00

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)'