summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
author1138-4EB <1138-4EB@users.noreply.github.com>2019-11-05 23:51:34 +0100
committer1138-4EB <1138-4EB@users.noreply.github.com>2019-11-06 03:42:26 +0100
commit0edf35e6383401a7f1f6c0fab4b90b86992cf4a7 (patch)
treea067cbb5d839ea2cd399f7043f354abc5e70e292
parent61ad1f26eaab1c1542c53f414665537ceee26c93 (diff)
use separate goreleaser config file to generate docker images based on alpine
-rw-r--r--.github/workflows/push.yml20
-rw-r--r--.goreleaser.docker.yml25
-rw-r--r--.goreleaser.yml15
-rw-r--r--Dockerfile13
-rwxr-xr-xdocker.sh25
5 files changed, 70 insertions, 28 deletions
diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml
index ebcb32d..0e771d2 100644
--- a/.github/workflows/push.yml
+++ b/.github/workflows/push.yml
@@ -1,7 +1,7 @@
name: 'snapshot'
-on: [push, pull_request]
+on: [ push, pull_request ]
jobs:
- snapshot:
+ pkg:
runs-on: ubuntu-latest
steps:
- uses: actions/setup-go@v1
@@ -17,8 +17,22 @@ jobs:
- run: go get ./...
- run: golangci-lint run -v
- run: goreleaser --snapshot --skip-publish --rm-dist
+ - uses: actions/upload-artifact@master
+ with:
+ name: ubuntu
+ path: dist
+
+ docker:
+ needs: [ pkg ]
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/setup-go@v1
+ with:
+ go-version: '1.13.x'
+ - uses: actions/checkout@v1
+ - run: ./docker.sh
- run: docker images
- uses: actions/upload-artifact@master
with:
- name: dist
+ name: alpine
path: dist
diff --git a/.goreleaser.docker.yml b/.goreleaser.docker.yml
new file mode 100644
index 0000000..85f2153
--- /dev/null
+++ b/.goreleaser.docker.yml
@@ -0,0 +1,25 @@
+release:
+ prerelease: true
+
+builds:
+ - binary: dive
+ goos:
+ - linux
+ goarch:
+ - amd64
+ ldflags: -s -w -X main.version={{.Version}} -X main.commit={{.Commit}} -X main.buildTime={{.Date}}`.
+
+dockers:
+ -
+ binaries:
+ - dive
+ dockerfile: Dockerfile
+ image_templates:
+ - "wagoodman/dive:{{ .Tag }}"
+ - "wagoodman/dive:v{{ .Major }}"
+ - "wagoodman/dive:v{{ .Major }}.{{ .Minor }}"
+ - "wagoodman/dive:latest"
+ - "quay.io/wagoodman/dive:{{ .Tag }}"
+ - "quay.io/wagoodman/dive:v{{ .Major }}"
+ - "quay.io/wagoodman/dive:v{{ .Major }}.{{ .Minor }}"
+ - "quay.io/wagoodman/dive:latest"
diff --git a/.goreleaser.yml b/.goreleaser.yml
index 38085b9..021f746 100644
--- a/.goreleaser.yml
+++ b/.goreleaser.yml
@@ -11,21 +11,6 @@ builds:
- amd64
ldflags: -s -w -X main.version={{.Version}} -X main.commit={{.Commit}} -X main.buildTime={{.Date}}`.
-dockers:
- -
- binaries:
- - dive
- dockerfile: Dockerfile
- image_templates:
- - "wagoodman/dive:{{ .Tag }}"
- - "wagoodman/dive:v{{ .Major }}"
- - "wagoodman/dive:v{{ .Major }}.{{ .Minor }}"
- - "wagoodman/dive:latest"
- - "quay.io/wagoodman/dive:{{ .Tag }}"
- - "quay.io/wagoodman/dive:v{{ .Major }}"
- - "quay.io/wagoodman/dive:v{{ .Major }}.{{ .Minor }}"
- - "quay.io/wagoodman/dive:latest"
-
archives:
- format: tar.gz
format_overrides:
diff --git a/Dockerfile b/Dockerfile
index 5cce526..fe1add8 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,12 +1,5 @@
-FROM debian:sid-slim
-RUN apt-get update && apt-get install -y \
- curl \
- libdevmapper1.02.1 \
- libgpgme11-dev \
- && rm -rf /var/lib/apt/lists/* \
- && ln -s /lib/x86_64-linux-gnu/libdevmapper.so.1.02.1 /usr/lib/libdevmapper.so.1.02
-ARG DOCKER_CLI_VERSION="19.03.1"
-RUN curl -L https://download.docker.com/linux/static/stable/x86_64/docker-$DOCKER_CLI_VERSION.tgz | \
- tar -xz --strip-component=1 -C /usr/local/bin/ docker/docker
+FROM alpine:3.10
+COPY --from=wagoodman/dive:dev /usr/local/bin/docker /usr/local/bin/
COPY dive /usr/local/bin/
+RUN apk add -U --no-cache gpgme device-mapper
ENTRYPOINT ["/usr/local/bin/dive"]
diff --git a/docker.sh b/docker.sh
new file mode 100755
index 0000000..3be04b4
--- /dev/null
+++ b/docker.sh
@@ -0,0 +1,25 @@
+#!/usr/bin/env sh
+
+set -e
+
+cd "$(dirname $0)"
+
+docker build -t wagoodman/dive:dev - <<EOF
+FROM golang:alpine AS build
+RUN apk add -U --no-cache gpgme-dev gcc musl-dev btrfs-progs-dev lvm2-dev curl git \
+ && curl -sfL https://install.goreleaser.com/github.com/goreleaser/goreleaser.sh | sh \
+ && curl -L https://download.docker.com/linux/static/stable/x86_64/docker-19.03.1.tgz | tar -xzf - docker/docker --strip-component=1 -C /usr/local/bin
+EOF
+
+docker run --rm \
+ -v //var/run/docker.sock://var/run/docker.sock \
+ -v /$(pwd)://src \
+ -w //src \
+ wagoodman/dive:dev \
+ goreleaser \
+ -f .goreleaser.docker.yml \
+ --snapshot \
+ --skip-publish \
+ --rm-dist
+
+sudo chown -R $USER:$USER dist