Skip to content

Commit 6d2e7cb

Browse files
committed
fix(ci): re-add loki-docker-driver
1 parent 2cebc49 commit 6d2e7cb

File tree

3 files changed

+57
-8
lines changed

3 files changed

+57
-8
lines changed

.circleci/config.yml

Lines changed: 33 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,21 @@
11
version: 2
22

3-
.tags: &tags
3+
.tags: &tags # tags need to be explicitely defined (whitelist)
44
tags: {only: "/.*/"}
55

66
.tag-or-master: &tag-or-master
77
branches: { only: master }
88
<<: *tags
99

10-
.no-master: &no-master
10+
.no-master: &no-master # contrary to tags, the branches must be excluded (blacklist)
1111
branches: { ignore: master }
1212

1313
workflows:
1414
version: 2
1515
containers:
1616
jobs:
17+
# publish jobs depend on this as well,
18+
# thus tags need to be allowed for these
1719
- lint: {filters: {<<: *tags}}
1820
- test: {filters: {<<: *tags}}
1921

@@ -37,6 +39,13 @@ workflows:
3739
- publish/promtail:
3840
requires: [ lint, test ]
3941
filters: { <<: *tag-or-master }
42+
43+
- build/docker-driver:
44+
requires: [ lint, test ]
45+
filters: {<<: *no-master}
46+
- publish/docker-driver:
47+
requires: [ lint, test ]
48+
filters: { <<: *tag-or-master }
4049

4150
- test-helm:
4251
requires: [ lint, test ]
@@ -158,6 +167,28 @@ jobs:
158167
environment:
159168
APP: promtail
160169

170+
# Docker driver
171+
build/docker-driver:
172+
<<: *defaults
173+
steps:
174+
- checkout
175+
- setup_remote_docker
176+
- run:
177+
name: docker-driver
178+
command: make docker-driver
179+
180+
publish/docker-driver:
181+
<<: *defaults
182+
steps:
183+
- checkout
184+
- setup_remote_docker
185+
- run:
186+
name: login
187+
command: docker login -u "$DOCKER_USER" -p "$DOCKER_PASS"
188+
- run:
189+
name: docker-driver
190+
command: make docker-driver-push
191+
161192
test-helm:
162193
environment:
163194
CT_VERSION: 2.3.3

Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -282,9 +282,9 @@ helm-clean:
282282

283283
PLUGIN_TAG ?= $(IMAGE_TAG)
284284

285-
docker-driver: docker-driver-clean cmd/docker-driver/docker-driver
285+
docker-driver: docker-driver-clean
286286
mkdir cmd/docker-driver/rootfs
287-
docker build -t rootfsimage cmd/docker-driver
287+
docker build -t rootfsimage -f cmd/docker-driver/Dockerfile .
288288
ID=$$(docker create rootfsimage true) && \
289289
(docker export $$ID | tar -x -C cmd/docker-driver/rootfs) && \
290290
docker rm -vf $$ID

cmd/docker-driver/Dockerfile

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,23 @@
1-
FROM alpine:3.9
2-
RUN apk add --update --no-cache ca-certificates
3-
COPY docker-driver /bin/docker-driver
1+
# Directories in this file are referenced from the root of the project not this folder
2+
# This file is intented to be called from the root like so:
3+
# docker build -t grafana/loki -f cmd/loki/Dockerfile .
4+
5+
# TODO: really add cross-platform support
6+
7+
# FROM golang:1.11.4-alpine as goenv
8+
# RUN go env GOARCH > /goarch && \
9+
# go env GOARM > /goarm
10+
11+
# FROM --platform=linux/amd64 grafana/loki-build-image as build
12+
FROM grafana/loki-build-image as build
13+
# COPY --from=goenv /goarch /goarm /
14+
COPY . /go/src/github.com/grafana/loki
15+
WORKDIR /go/src/github.com/grafana/loki
16+
# RUN GOARCH=$(cat /goarch) GOARM=$(cat /goarm) make clean && make cmd/docker-driver/docker-driver
17+
RUN make clean && make cmd/docker-driver/docker-driver
18+
19+
FROM alpine:3.9
20+
RUN apk add --update --no-cache ca-certificates
21+
COPY --from=build /go/src/github.com/grafana/loki/cmd/docker-driver/docker-driver /bin/docker-driver
422
WORKDIR /bin/
5-
ENTRYPOINT [ "/bin/docker-driver" ]
23+
ENTRYPOINT [ "/bin/docker-driver" ]

0 commit comments

Comments
 (0)