diff options
author | 1138-4EB <1138-4EB@users.noreply.github.com> | 2019-11-05 23:51:34 +0100 |
---|---|---|
committer | 1138-4EB <1138-4EB@users.noreply.github.com> | 2019-11-06 03:42:26 +0100 |
commit | 0edf35e6383401a7f1f6c0fab4b90b86992cf4a7 (patch) | |
tree | a067cbb5d839ea2cd399f7043f354abc5e70e292 | |
parent | 61ad1f26eaab1c1542c53f414665537ceee26c93 (diff) |
use separate goreleaser config file to generate docker images based on alpine
-rw-r--r-- | .github/workflows/push.yml | 20 | ||||
-rw-r--r-- | .goreleaser.docker.yml | 25 | ||||
-rw-r--r-- | .goreleaser.yml | 15 | ||||
-rw-r--r-- | Dockerfile | 13 | ||||
-rwxr-xr-x | docker.sh | 25 |
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: @@ -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 |