Use docker buildx for building and pushing images

This has the benefit that every tag only shows up as one image. With goreleaser, multiple images were shipped
This commit is contained in:
Joris Coenen
2021-04-23 18:40:15 +02:00
parent e8e01d6578
commit 9e8f621020
2 changed files with 24 additions and 15 deletions

View File

@@ -1,9 +1,9 @@
name: goreleaser
name: release
on:
push:
tags:
- '*'
- 'v*'
jobs:
goreleaser:
@@ -16,6 +16,18 @@ jobs:
uses: actions/checkout@v2
with:
fetch-depth: 0
-
name: Docker meta
id: meta
uses: crazy-max/ghaction-docker-meta@v2
with:
images: |
1password/onepassword-operator
# Publish image for x.y.z and x.y
# The latest tag is automatically added for semver tags
tags: |
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
-
name: Set up QEMU
uses: docker/setup-qemu-action@v1
@@ -29,15 +41,14 @@ jobs:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Set up Go
uses: actions/setup-go@v2
name: Build and push
uses: docker/build-push-action@v2
with:
go-version: 1.15
-
name: Run GoReleaser
uses: goreleaser/goreleaser-action@v2
with:
version: latest
args: release --rm-dist
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
context: .
file: Dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
build-args: |
operator_version=${{ github.event.ref }}

View File

@@ -14,8 +14,6 @@ COPY vendor/ vendor/
# Build
ARG operator_version=dev
RUN CGO_ENABLED=0 \
GOOS=linux \
GOARCH=amd64 \
GO111MODULE=on \
go build \
-ldflags "-X version.Version=$operator_version" \