github.com/kubeshop/testkube@v1.17.23/.builds-linux.goreleaser.yml (about) 1 env: 2 # Goreleaser always uses the docker buildx builder with name "default"; see 3 # https://github.com/goreleaser/goreleaser/pull/3199 4 # To use a builder other than "default", set this variable. 5 # Necessary for, e.g., GitHub actions cache integration. 6 - DOCKER_BUILDX_BUILDER={{ if index .Env "DOCKER_BUILDX_BUILDER" }}{{ .Env.DOCKER_BUILDX_BUILDER }}{{ else }}default{{ end }} 7 # Setup to enable Docker to use, e.g., the GitHub actions cache; see 8 # https://docs.docker.com/build/building/cache/backends/ 9 # https://github.com/moby/buildkit#export-cache 10 - DOCKER_BUILDX_CACHE_FROM={{ if index .Env "DOCKER_BUILDX_CACHE_FROM" }}{{ .Env.DOCKER_BUILDX_CACHE_FROM }}{{ else }}type=registry,ref=docker.io/kubeshop/testkube-cli:latest{{ end }} 11 - DOCKER_BUILDX_CACHE_TO={{ if index .Env "DOCKER_BUILDX_CACHE_TO" }}{{ .Env.DOCKER_BUILDX_CACHE_TO }}{{ else }}type=inline{{ end }} 12 13 before: 14 hooks: 15 - go mod tidy 16 dist: linux 17 builds: 18 - main: ./cmd/kubectl-testkube 19 binary: kubectl-testkube 20 env: 21 - CGO_ENABLED=0 22 goos: 23 - linux 24 goarch: 25 - amd64 26 - arm64 27 - 386 28 ldflags: 29 - -s -w -X main.version={{.Version}} 30 - -X main.commit={{.Commit}} 31 - -X main.date={{.Date}} 32 - -X main.builtBy=goreleaser 33 - -X github.com/kubeshop/testkube/pkg/telemetry.TestkubeMeasurementID={{.Env.ANALYTICS_TRACKING_ID}} 34 - -X github.com/kubeshop/testkube/pkg/telemetry.TestkubeMeasurementSecret={{.Env.ANALYTICS_API_KEY}} 35 archives: 36 - format: binary 37 38 dockers: 39 - dockerfile: ./build/kubectl-testkube/Dockerfile 40 use: buildx 41 goos: linux 42 goarch: amd64 43 image_templates: 44 - "kubeshop/testkube-cli:{{ .Env.DOCKER_IMAGE_TAG }}-amd64" 45 build_flag_templates: 46 - "--platform=linux/amd64" 47 - "--label=org.opencontainers.image.title={{ .ProjectName }}" 48 - "--label=org.opencontainers.image.created={{ .Date}}" 49 - "--label=org.opencontainers.image.revision={{ .FullCommit }}" 50 - "--label=org.opencontainers.image.version={{ .Version }}" 51 - "--builder={{ .Env.DOCKER_BUILDX_BUILDER }}" 52 - "--cache-to={{ .Env.DOCKER_BUILDX_CACHE_TO }}" 53 - "--cache-from={{ .Env.DOCKER_BUILDX_CACHE_FROM }}" 54 - "--build-arg=ALPINE_IMAGE={{ .Env.ALPINE_IMAGE }}" 55 - "--build-arg=BUSYBOX_IMAGE={{ .Env.BUSYBOX_IMAGE }}" 56 57 - dockerfile: ./build/kubectl-testkube/Dockerfile 58 use: buildx 59 goos: linux 60 goarch: arm64 61 image_templates: 62 - "kubeshop/testkube-cli:{{ .Env.DOCKER_IMAGE_TAG }}-arm64v8" 63 build_flag_templates: 64 - "--platform=linux/arm64/v8" 65 - "--label=org.opencontainers.image.created={{ .Date }}" 66 - "--label=org.opencontainers.image.title={{ .ProjectName }}" 67 - "--label=org.opencontainers.image.revision={{ .FullCommit }}" 68 - "--label=org.opencontainers.image.version={{ .Version }}" 69 - "--builder={{ .Env.DOCKER_BUILDX_BUILDER }}" 70 - "--cache-to={{ .Env.DOCKER_BUILDX_CACHE_TO }}" 71 - "--cache-from={{ .Env.DOCKER_BUILDX_CACHE_FROM }}" 72 - "--build-arg=ALPINE_IMAGE={{ .Env.ALPINE_IMAGE }}" 73 - "--build-arg=BUSYBOX_IMAGE={{ .Env.BUSYBOX_IMAGE }}" 74 75 docker_signs: 76 - cmd: cosign 77 artifacts: all 78 output: true 79 args: 80 - 'sign' 81 - '${artifact}' 82 - "--yes"