From 183a877f5a3eb17da84f6c9a327d71d89d32a6ae Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Mon, 25 Dec 2017 11:17:55 +0100 Subject: [PATCH] :rocket: Adds CircleCI --- .circleci/config.yml | 87 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 .circleci/config.yml diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000..d9f9b65 --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,87 @@ +version: 2 +defaults: &defaults + machine: + image: circleci/classic:edge + steps: + - run: + name: Check docker is running + command: docker info + - run: + name: Pull Community Hass.io Add-ons build environment + command: docker pull hassioaddons/build-env:latest + - run: + name: Log in to Docker Hub + command: | + if [[ "${CIRCLE_BRANCH}" = "master" || ! -z "${CIRCLE_TAG:-}" ]]; + then + docker login -u "${DOCKER_LOGIN}" -p "${DOCKER_PASSWORD}" + fi + - checkout + - deploy: + name: Build and (maybe) deploy + command: | + if [[ "${CIRCLE_BRANCH}" = "master" || ! -z "${CIRCLE_TAG:-}" ]]; + then + docker run \ + --privileged \ + -v /var/run/docker.sock:/var/run/docker.sock \ + -v ~/.docker:/root/.docker \ + -v "$PWD":/docker \ + hassioaddons/build-env:latest \ + --image "hassioaddons/airsonos-{arch}" \ + --cache-tag test \ + --git \ + --target airsonos \ + --${ARCH} \ + --push + else + docker run \ + --privileged \ + -v /var/run/docker.sock:/var/run/docker.sock \ + -v "$PWD":/docker \ + hassioaddons/build-env:latest \ + --image "hassioaddons/airsonos-{arch}" \ + --cache-tag test \ + --git \ + --target airsonos \ + --${ARCH} + fi + +jobs: + aarch64: + <<: *defaults + environment: + ARCH: aarch64 + amd64: + <<: *defaults + environment: + ARCH: amd64 + armhf: + <<: *defaults + environment: + ARCH: armhf + i386: + <<: *defaults + environment: + ARCH: i386 + +workflows: + version: 2 + build_and_maybe_deploy: + jobs: + - aarch64: + filters: + tags: + only: /.*/ + - amd64: + filters: + tags: + only: /.*/ + - armhf: + filters: + tags: + only: /.*/ + - i386: + filters: + tags: + only: /.*/ \ No newline at end of file