github.com/kubeshop/testkube@v1.17.23/goreleaser_files/.goreleaser-docker-build-executor-jmeter.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/jmeter/cmd/agent"
    18      binary: "jmeter"
    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/jmeter/build/agent/Dockerfile"
    29      use: buildx
    30      goos: linux
    31      goarch: amd64
    32      image_templates:
    33        - "{{ if .Env.IMAGE_TAG_SHA }}{{ .Env.DOCKER_REPO }}/testkube-jmeter-executor:{{ .ShortCommit }}{{ end }}"
    34        - "{{ if not .Env.IMAGE_TAG_SHA }}{{ .Env.DOCKER_REPO }}/testkube-jmeter-executor:{{ .Version }}-amd64{{ 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      extra_files:
    45        - ./contrib/executor/jmeter/lib/jmeter-plugins-cmn-jmeter-0.6.jar
    46        - ./contrib/executor/jmeter/plugins/jmeter-plugins-functions-2.1.jar
    47        - ./contrib/executor/jmeter/plugins/jmeter-plugins-manager-1.3.jar
    48        - ./contrib/executor/jmeter/scripts/entrypoint.sh
    49  
    50    - dockerfile: "./contrib/executor/jmeter/build/agent/Dockerfile"
    51      use: buildx
    52      goos: linux
    53      goarch: arm64
    54      image_templates:
    55        - "{{ if not .Env.IMAGE_TAG_SHA }}{{ .Env.DOCKER_REPO }}/testkube-jmeter-executor:{{ .Version }}-arm64v8{{ end }}"
    56      build_flag_templates:
    57        - "--platform=linux/arm64"
    58        - "--label=org.opencontainers.image.created={{ .Date }}"
    59        - "--label=org.opencontainers.image.title={{ .ProjectName }}"
    60        - "--label=org.opencontainers.image.revision={{ .FullCommit }}"
    61        - "--label=org.opencontainers.image.version={{ .Version }}"
    62        - "--builder={{ .Env.DOCKER_BUILDX_BUILDER }}"
    63        - "--cache-to={{ .Env.DOCKER_BUILDX_CACHE_TO }}"
    64        - "--cache-from={{ .Env.DOCKER_BUILDX_CACHE_FROM }}"
    65      extra_files:
    66        - ./contrib/executor/jmeter/lib/jmeter-plugins-cmn-jmeter-0.6.jar
    67        - ./contrib/executor/jmeter/plugins/jmeter-plugins-functions-2.1.jar
    68        - ./contrib/executor/jmeter/plugins/jmeter-plugins-manager-1.3.jar
    69        - ./contrib/executor/jmeter/scripts/entrypoint.sh
    70  
    71  docker_manifests:
    72    - name_template: "{{ if not .Env.IMAGE_TAG_SHA }}{{ .Env.DOCKER_REPO }}/testkube-jmeter-executor:{{ .Version }}{{ end }}"
    73      image_templates:
    74        - "{{ if not .Env.IMAGE_TAG_SHA }}{{ .Env.DOCKER_REPO }}/testkube-jmeter-executor:{{ .Version }}-arm64v8{{ end }}"
    75        - "{{ if not .Env.IMAGE_TAG_SHA }}{{ .Env.DOCKER_REPO }}/testkube-jmeter-executor:{{ .Version }}-amd64{{ end }}"
    76    - name_template: "{{ if not .Env.IMAGE_TAG_SHA }}{{ .Env.DOCKER_REPO }}/testkube-jmeter-executor:latest{{ end }}"
    77      image_templates:
    78        - "{{ if not .Env.IMAGE_TAG_SHA }}{{ .Env.DOCKER_REPO }}/testkube-jmeter-executor:{{ .Version }}-arm64v8{{ end }}"
    79        - "{{ if not .Env.IMAGE_TAG_SHA }}{{ .Env.DOCKER_REPO }}/testkube-jmeter-executor:{{ .Version }}-amd64{{ end }}"
    80  
    81  release:
    82    disable: true
    83  
    84  docker_signs:
    85    - cmd: cosign
    86      artifacts: all
    87      output: true
    88      args:
    89        - 'sign'
    90        - '${artifact}'
    91        - "--yes"