diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..e486a1c --- /dev/null +++ b/.drone.yml @@ -0,0 +1,239 @@ +kind: pipeline +name: build-master-amd64 + +platform: + os: linux + arch: amd64 + +steps: + - name: publish + image: plugins/docker + settings: + username: + from_secret: docker_username + password: + from_secret: docker_password + repo: kis3/kis3 + tags: linux-amd64 + when: + event: + - push + +trigger: + ref: + - refs/heads/master + +--- +kind: pipeline +name: build-master-arm64 + +platform: + os: linux + arch: arm64 + +steps: + - name: publish + image: plugins/docker + settings: + username: + from_secret: docker_username + password: + from_secret: docker_password + repo: kis3/kis3 + tags: linux-arm64 + when: + event: + - push + +trigger: + ref: + - refs/heads/master + +--- +kind: pipeline +name: build-master-arm + +platform: + os: linux + arch: arm + +steps: + - name: publish + image: plugins/docker + settings: + username: + from_secret: docker_username + password: + from_secret: docker_password + repo: kis3/kis3 + tags: linux-arm + when: + event: + - push + +trigger: + ref: + - refs/heads/master + +--- +kind: pipeline +name: manifest-master + +platform: + os: linux + arch: amd64 + +steps: +- name: manifest + pull: always + image: plugins/manifest + settings: + username: + from_secret: docker_username + password: + from_secret: docker_password + ignore_missing: true + spec: manifest.tmpl + +trigger: + ref: + - refs/heads/master + +depends_on: +- build-master-amd64 +- build-master-arm64 +- build-master-arm + +--- +kind: pipeline +name: build-develop-amd64 + +platform: + os: linux + arch: amd64 + +steps: + - name: publish + image: plugins/docker + settings: + username: + from_secret: docker_username + password: + from_secret: docker_password + repo: kis3/kis3 + tags: develop-linux-amd64 + when: + event: + - push + +trigger: + ref: + - refs/heads/develop + +--- +kind: pipeline +name: build-develop-arm64 + +platform: + os: linux + arch: arm64 + +steps: + - name: publish + image: plugins/docker + settings: + username: + from_secret: docker_username + password: + from_secret: docker_password + repo: kis3/kis3 + tags: develop-linux-arm64 + when: + event: + - push + +trigger: + ref: + - refs/heads/develop + +--- +kind: pipeline +name: build-develop-arm + +platform: + os: linux + arch: arm + +steps: + - name: publish + image: plugins/docker + settings: + username: + from_secret: docker_username + password: + from_secret: docker_password + repo: kis3/kis3 + tags: develop-linux-arm + when: + event: + - push + +trigger: + ref: + - refs/heads/develop + +--- +kind: pipeline +name: manifest-develop + +platform: + os: linux + arch: amd64 + +steps: +- name: manifest + pull: always + image: plugins/manifest + settings: + username: + from_secret: docker_username + password: + from_secret: docker_password + ignore_missing: true + spec: manifest-develop.tmpl + +trigger: + ref: + - refs/heads/develop + +depends_on: +- build-develop-amd64 +- build-develop-arm64 +- build-develop-arm + +--- +kind: pipeline +name: build-pull-request + +platform: + os: linux + arch: amd64 + +steps: + - name: dryrun + image: plugins/docker + settings: + username: + from_secret: docker_username + password: + from_secret: docker_password + repo: kis3/kis3 + tags: pr-linux-amd64 + dry_run: true + when: + event: + - pull_request + +trigger: + ref: + - "refs/pull/**" diff --git a/Dockerfile b/Dockerfile index 62d48eb..45433b0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,12 +1,13 @@ -FROM golang:1.12-alpine as packr -RUN apk add --no-cache git +FROM golang:1.12-alpine as build-base +RUN apk add --no-cache git gcc musl-dev + +FROM build-base as packr RUN go get github.com/gobuffalo/packr/v2/packr2 -FROM golang:1.12-alpine as build +FROM build-base as build COPY --from=packr /go/bin/packr2 /go/bin ADD . /app WORKDIR /app -RUN apk add --no-cache git gcc musl-dev RUN GO111MODULE=on packr2 RUN go build kis3.dev/kis3 diff --git a/manifest-develop.tmpl b/manifest-develop.tmpl new file mode 100644 index 0000000..9509ea8 --- /dev/null +++ b/manifest-develop.tmpl @@ -0,0 +1,19 @@ +image: kis3/kis3:develop +manifests: + - + image: kis3/kis3:develop-linux-amd64 + platform: + architecture: amd64 + os: linux + - + image: kis3/kis3:develop-linux-arm64 + platform: + architecture: arm64 + os: linux + variant: v8 + - + image: kis3/kis3:develop-linux-arm + platform: + architecture: arm + os: linux + variant: v7 diff --git a/manifest.tmpl b/manifest.tmpl new file mode 100644 index 0000000..a6f4202 --- /dev/null +++ b/manifest.tmpl @@ -0,0 +1,19 @@ +image: kis3/kis3:latest +manifests: + - + image: kis3/kis3:linux-amd64 + platform: + architecture: amd64 + os: linux + - + image: kis3/kis3:linux-arm64 + platform: + architecture: arm64 + os: linux + variant: v8 + - + image: kis3/kis3:linux-arm + platform: + architecture: arm + os: linux + variant: v7