From 0edf35e6383401a7f1f6c0fab4b90b86992cf4a7 Mon Sep 17 00:00:00 2001 From: 1138-4EB <1138-4EB@users.noreply.github.com> Date: Tue, 5 Nov 2019 23:51:34 +0100 Subject: [PATCH] use separate goreleaser config file to generate docker images based on alpine --- .github/workflows/push.yml | 20 +++++++++++++++++--- .goreleaser.docker.yml | 25 +++++++++++++++++++++++++ .goreleaser.yml | 15 --------------- Dockerfile | 13 +++---------- docker.sh | 25 +++++++++++++++++++++++++ 5 files changed, 70 insertions(+), 28 deletions(-) create mode 100644 .goreleaser.docker.yml create mode 100755 docker.sh 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 - <