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"