Skip to content

Commit 183a877

Browse files
committed
🚀 Adds CircleCI
1 parent e13e0cd commit 183a877

File tree

1 file changed

+87
-0
lines changed

1 file changed

+87
-0
lines changed

.circleci/config.yml

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
version: 2
2+
defaults: &defaults
3+
machine:
4+
image: circleci/classic:edge
5+
steps:
6+
- run:
7+
name: Check docker is running
8+
command: docker info
9+
- run:
10+
name: Pull Community Hass.io Add-ons build environment
11+
command: docker pull hassioaddons/build-env:latest
12+
- run:
13+
name: Log in to Docker Hub
14+
command: |
15+
if [[ "${CIRCLE_BRANCH}" = "master" || ! -z "${CIRCLE_TAG:-}" ]];
16+
then
17+
docker login -u "${DOCKER_LOGIN}" -p "${DOCKER_PASSWORD}"
18+
fi
19+
- checkout
20+
- deploy:
21+
name: Build and (maybe) deploy
22+
command: |
23+
if [[ "${CIRCLE_BRANCH}" = "master" || ! -z "${CIRCLE_TAG:-}" ]];
24+
then
25+
docker run \
26+
--privileged \
27+
-v /var/run/docker.sock:/var/run/docker.sock \
28+
-v ~/.docker:/root/.docker \
29+
-v "$PWD":/docker \
30+
hassioaddons/build-env:latest \
31+
--image "hassioaddons/airsonos-{arch}" \
32+
--cache-tag test \
33+
--git \
34+
--target airsonos \
35+
--${ARCH} \
36+
--push
37+
else
38+
docker run \
39+
--privileged \
40+
-v /var/run/docker.sock:/var/run/docker.sock \
41+
-v "$PWD":/docker \
42+
hassioaddons/build-env:latest \
43+
--image "hassioaddons/airsonos-{arch}" \
44+
--cache-tag test \
45+
--git \
46+
--target airsonos \
47+
--${ARCH}
48+
fi
49+
50+
jobs:
51+
aarch64:
52+
<<: *defaults
53+
environment:
54+
ARCH: aarch64
55+
amd64:
56+
<<: *defaults
57+
environment:
58+
ARCH: amd64
59+
armhf:
60+
<<: *defaults
61+
environment:
62+
ARCH: armhf
63+
i386:
64+
<<: *defaults
65+
environment:
66+
ARCH: i386
67+
68+
workflows:
69+
version: 2
70+
build_and_maybe_deploy:
71+
jobs:
72+
- aarch64:
73+
filters:
74+
tags:
75+
only: /.*/
76+
- amd64:
77+
filters:
78+
tags:
79+
only: /.*/
80+
- armhf:
81+
filters:
82+
tags:
83+
only: /.*/
84+
- i386:
85+
filters:
86+
tags:
87+
only: /.*/

0 commit comments

Comments
 (0)