github.com/kubeshop/testkube@v1.17.23/goreleaser_files/.goreleaser-docker-build-executor.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_REPO={{ if index .Env "DOCKER_REPO"  }}{{ .Env.DOCKER_REPO }}{{ else }}kubeshop{{ end }}
     7    - DOCKER_BUILDX_BUILDER={{ if index .Env "DOCKER_BUILDX_BUILDER"  }}{{ .Env.DOCKER_BUILDX_BUILDER }}{{ else }}default{{ end }}
     8    # Setup to enable Docker to use, e.g., the GitHub actions cache; see
     9    # https://docs.docker.com/build/building/cache/backends/
    10    # https://github.com/moby/buildkit#export-cache
    11    - DOCKER_BUILDX_CACHE_FROM={{ if index .Env "DOCKER_BUILDX_CACHE_FROM"  }}{{ .Env.DOCKER_BUILDX_CACHE_FROM }}{{ else }}type=registry{{ end }}
    12    - DOCKER_BUILDX_CACHE_TO={{ if index .Env "DOCKER_BUILDX_CACHE_TO"  }}{{ .Env.DOCKER_BUILDX_CACHE_TO }}{{ else }}type=inline{{ end }}
    13    # Build image with commit sha tag
    14    - IMAGE_TAG_SHA={{ if index .Env "IMAGE_TAG_SHA"  }}{{ .Env.IMAGE_TAG_SHA }}{{ else }}{{ end }}
    15  builds:
    16    - id: "linux"
    17      main: "./contrib/executor/{{ .Env.EXECUTOR }}/cmd/agent"
    18      binary: "{{ .Env.EXECUTOR }}"
    19      env:
    20        - CGO_ENABLED=0
    21      goos:
    22        - linux
    23      goarch:
    24        - amd64
    25        - arm64
    26      mod_timestamp: "{{ .CommitTimestamp }}"
    27  dockers:
    28    - dockerfile: "./contrib/executor/{{ .Env.EXECUTOR }}/build/agent/Dockerfile"
    29      use: buildx
    30      goos: linux
    31      goarch: amd64
    32      image_templates:
    33        - "{{ if not .Env.IMAGE_TAG_SHA }}{{ .Env.DOCKER_REPO }}/testkube-{{ .Env.EXECUTOR }}-executor:{{ .Version }}-amd64{{ end }}"
    34        - "{{ if .Env.IMAGE_TAG_SHA }}{{ .Env.DOCKER_REPO }}/testkube-{{ .Env.EXECUTOR }}-executor:{{ .ShortCommit }}{{ end }}"
    35      build_flag_templates:
    36        - "--platform=linux/amd64"
    37        - "--label=org.opencontainers.image.title={{ .ProjectName }}"
    38        - "--label=org.opencontainers.image.created={{ .Date}}"
    39        - "--label=org.opencontainers.image.revision={{ .FullCommit }}"
    40        - "--label=org.opencontainers.image.version={{ .Version }}"
    41        - "--builder={{ .Env.DOCKER_BUILDX_BUILDER }}"
    42        - "--cache-to={{ .Env.DOCKER_BUILDX_CACHE_TO }}"
    43        - "--cache-from={{ .Env.DOCKER_BUILDX_CACHE_FROM }}"
    44        - "--build-arg=TOKEN={{ .Env.GITHUB_TOKEN }}"
    45        - "--build-arg=ALPINE_IMAGE={{ .Env.ALPINE_IMAGE }}"
    46        - "--build-arg=BUSYBOX_IMAGE={{ .Env.BUSYBOX_IMAGE }}"
    47  
    48    - dockerfile: "./contrib/executor/{{ .Env.EXECUTOR }}/build/agent/Dockerfile"
    49      use: buildx
    50      goos: linux
    51      goarch: arm64
    52      image_templates:
    53        - "{{ if not .Env.IMAGE_TAG_SHA }}{{ .Env.DOCKER_REPO }}/testkube-{{ .Env.EXECUTOR }}-executor:{{ .Version }}-arm64v8{{ end }}"
    54      build_flag_templates:
    55        - "--platform=linux/arm64/v8"
    56        - "--label=org.opencontainers.image.created={{ .Date }}"
    57        - "--label=org.opencontainers.image.title={{ .ProjectName }}"
    58        - "--label=org.opencontainers.image.revision={{ .FullCommit }}"
    59        - "--label=org.opencontainers.image.version={{ .Version }}"
    60        - "--builder={{ .Env.DOCKER_BUILDX_BUILDER }}"
    61        - "--cache-to={{ .Env.DOCKER_BUILDX_CACHE_TO }}"
    62        - "--cache-from={{ .Env.DOCKER_BUILDX_CACHE_FROM }}"
    63        - "--build-arg=TOKEN={{ .Env.GITHUB_TOKEN }}"
    64        - "--build-arg=ALPINE_IMAGE={{ .Env.ALPINE_IMAGE }}"
    65        - "--build-arg=BUSYBOX_IMAGE={{ .Env.BUSYBOX_IMAGE }}"
    66  
    67  docker_manifests:
    68    - name_template: "{{ if not .Env.IMAGE_TAG_SHA }}{{ .Env.DOCKER_REPO }}/testkube-{{ .Env.EXECUTOR }}-executor:{{ .Version }}{{ end }}"
    69      image_templates:
    70        - "{{ if not .Env.IMAGE_TAG_SHA }}{{ .Env.DOCKER_REPO }}/testkube-{{ .Env.EXECUTOR }}-executor:{{ .Version }}-amd64{{ end }}"
    71        - "{{ if not .Env.IMAGE_TAG_SHA }}{{ .Env.DOCKER_REPO }}/testkube-{{ .Env.EXECUTOR }}-executor:{{ .Version }}-arm64v8{{ end }}"
    72    - name_template: "{{ if not .Env.IMAGE_TAG_SHA }}{{ .Env.DOCKER_REPO }}/testkube-{{ .Env.EXECUTOR }}-executor:latest{{ end }}"
    73      image_templates:
    74        - "{{ if not .Env.IMAGE_TAG_SHA }}{{ .Env.DOCKER_REPO }}/testkube-{{ .Env.EXECUTOR }}-executor:{{ .Version }}-amd64{{ end }}"
    75        - "{{ if not .Env.IMAGE_TAG_SHA }}{{ .Env.DOCKER_REPO }}/testkube-{{ .Env.EXECUTOR }}-executor:{{ .Version }}-arm64v8{{ end }}"
    76  
    77  release:
    78    disable: true
    79  
    80  docker_signs:
    81    - cmd: cosign
    82      artifacts: all
    83      output: true
    84      args:
    85        - 'sign'
    86        - '${artifact}'
    87        - "--yes"