github.com/kubeshop/testkube@v1.17.23/goreleaser_files/.goreleaser-docker-build-testworkflow-init.yml (about) 1 project_name: testkube-tw-init 2 3 env: 4 # Goreleaser always uses the docker buildx builder with name "default"; see 5 # https://github.com/goreleaser/goreleaser/pull/3199 6 # To use a builder other than "default", set this variable. 7 # Necessary for, e.g., GitHub actions cache integration. 8 - DOCKER_REPO={{ if index .Env "DOCKER_REPO" }}{{ .Env.DOCKER_REPO }}{{ else }}kubeshop{{ end }} 9 - DOCKER_BUILDX_BUILDER={{ if index .Env "DOCKER_BUILDX_BUILDER" }}{{ .Env.DOCKER_BUILDX_BUILDER }}{{ else }}default{{ end }} 10 # Setup to enable Docker to use, e.g., the GitHub actions cache; see 11 # https://docs.docker.com/build/building/cache/backends/ 12 # https://github.com/moby/buildkit#export-cache 13 - DOCKER_BUILDX_CACHE_FROM={{ if index .Env "DOCKER_BUILDX_CACHE_FROM" }}{{ .Env.DOCKER_BUILDX_CACHE_FROM }}{{ else }}type=registry{{ end }} 14 - DOCKER_BUILDX_CACHE_TO={{ if index .Env "DOCKER_BUILDX_CACHE_TO" }}{{ .Env.DOCKER_BUILDX_CACHE_TO }}{{ else }}type=inline{{ end }} 15 # Build image with commit sha tag 16 - IMAGE_TAG_SHA={{ if index .Env "IMAGE_TAG_SHA" }}{{ .Env.IMAGE_TAG_SHA }}{{ else }}{{ end }} 17 builds: 18 - id: "linux" 19 main: ./cmd/tcl/testworkflow-init 20 binary: testworkflow-init 21 env: 22 - CGO_ENABLED=0 23 goos: 24 - linux 25 goarch: 26 - amd64 27 - arm64 28 mod_timestamp: "{{ .CommitTimestamp }}" 29 ldflags: 30 -X github.com/kubeshop/testkube/pkg/version.Version={{ .Version }} 31 -X github.com/kubeshop/testkube/pkg/version.Commit={{ .FullCommit }} 32 -s -w 33 dockers: 34 - dockerfile: ./build/testworkflow-init/Dockerfile 35 use: buildx 36 goos: linux 37 goarch: amd64 38 image_templates: 39 - "{{ if .Env.IMAGE_TAG_SHA }}{{ .Env.DOCKER_REPO }}/testkube-tw-init:{{ .ShortCommit }}{{ end }}" 40 - "{{ if not .Env.IMAGE_TAG_SHA }}{{ .Env.DOCKER_REPO }}/testkube-tw-init:{{ .Version }}-amd64{{ end }}" 41 build_flag_templates: 42 - "--platform=linux/amd64" 43 - "--label=org.opencontainers.image.title={{ .ProjectName }}" 44 - "--label=org.opencontainers.image.created={{ .Date}}" 45 - "--label=org.opencontainers.image.revision={{ .FullCommit }}" 46 - "--label=org.opencontainers.image.version={{ .Version }}" 47 - "--builder={{ .Env.DOCKER_BUILDX_BUILDER }}" 48 - "--cache-to={{ .Env.DOCKER_BUILDX_CACHE_TO }}" 49 - "--cache-from={{ .Env.DOCKER_BUILDX_CACHE_FROM }}" 50 - "--build-arg=ALPINE_IMAGE={{ .Env.ALPINE_IMAGE }}" 51 - "--build-arg=BUSYBOX_IMAGE={{ .Env.BUSYBOX_IMAGE }}" 52 53 - dockerfile: ./build/testworkflow-init/Dockerfile 54 use: buildx 55 goos: linux 56 goarch: arm64 57 image_templates: 58 - "{{ if not .Env.IMAGE_TAG_SHA }}{{ .Env.DOCKER_REPO }}/testkube-tw-init:{{ .Version }}-arm64v8{{ end }}" 59 build_flag_templates: 60 - "--platform=linux/arm64/v8" 61 - "--label=org.opencontainers.image.created={{ .Date }}" 62 - "--label=org.opencontainers.image.title={{ .ProjectName }}" 63 - "--label=org.opencontainers.image.revision={{ .FullCommit }}" 64 - "--label=org.opencontainers.image.version={{ .Version }}" 65 - "--builder={{ .Env.DOCKER_BUILDX_BUILDER }}" 66 - "--cache-to={{ .Env.DOCKER_BUILDX_CACHE_TO }}" 67 - "--cache-from={{ .Env.DOCKER_BUILDX_CACHE_FROM }}" 68 - "--build-arg=ALPINE_IMAGE={{ .Env.ALPINE_IMAGE }}" 69 - "--build-arg=BUSYBOX_IMAGE={{ .Env.BUSYBOX_IMAGE }}" 70 71 docker_manifests: 72 - name_template: "{{ if not .Env.IMAGE_TAG_SHA }}{{ .Env.DOCKER_REPO }}/testkube-tw-init:{{ .Version }}{{ end }}" 73 image_templates: 74 - "{{ if not .Env.IMAGE_TAG_SHA }}{{ .Env.DOCKER_REPO }}/testkube-tw-init:{{ .Version }}-amd64{{ end }}" 75 - "{{ if not .Env.IMAGE_TAG_SHA }}{{ .Env.DOCKER_REPO }}/testkube-tw-init:{{ .Version }}-arm64v8{{ end }}" 76 - name_template: "{{ if not .Env.IMAGE_TAG_SHA }}{{ .Env.DOCKER_REPO }}/testkube-tw-init:latest{{ end }}" 77 image_templates: 78 - "{{ if not .Env.IMAGE_TAG_SHA }}{{ .Env.DOCKER_REPO }}/testkube-tw-init:{{ .Version }}-amd64{{ end }}" 79 - "{{ if not .Env.IMAGE_TAG_SHA }}{{ .Env.DOCKER_REPO }}/testkube-tw-init:{{ .Version }}-arm64v8{{ end }}" 80 81 82 release: 83 disable: true 84 85 docker_signs: 86 - cmd: cosign 87 artifacts: all 88 output: true 89 args: 90 - "sign" 91 - "${artifact}" 92 - "--yes" 93 94 snapshot: 95 name_template: "{{ .ShortCommit }}"