go.mondoo.com/cnquery@v0.0.0-20231005093811-59568235f6ea/.goreleaser.yml (about)

     1  # Copyright (c) Mondoo, Inc.
     2  # SPDX-License-Identifier: BUSL-1.1
     3  
     4  ---
     5  project_name: cnquery
     6  env:
     7    - CGO_ENABLED=0
     8  before:
     9    hooks:
    10      - make providers
    11  builds:
    12    - id: linux
    13      main: ./apps/cnquery/cnquery.go
    14      binary: cnquery
    15      goos:
    16        - linux
    17      goarch:
    18        - amd64
    19        - 386
    20        - arm64
    21        - arm
    22        - ppc64le
    23      # ARM 6= Raspberry Pi A, A+, B, B+, Zero
    24      # ARM 7= Raspberry Pi 2, 3, 4
    25      goarm:
    26        - 6
    27        - 7
    28      flags:
    29        - -tags="production netgo"
    30      ldflags:
    31        - "-extldflags=-static"
    32        - -s -w -X go.mondoo.com/cnquery.Version={{.Version}} -X go.mondoo.com/cnquery.Build={{.ShortCommit}} -X go.mondoo.com/cnquery.Date={{.Date}}
    33    - id: macos
    34      main: ./apps/cnquery/cnquery.go
    35      binary: cnquery
    36      goos:
    37        - darwin
    38      goarch:
    39        - amd64
    40        - arm64
    41      flags: -tags production
    42      ldflags:
    43        # clang + macos does not support static: - -extldflags "-static"
    44        - -s -w -X go.mondoo.com/cnquery.Version={{.Version}} -X go.mondoo.com/cnquery.Build={{.ShortCommit}} -X go.mondoo.com/cnquery.Date={{.Date}}
    45      hooks:
    46        post:
    47          - cmd: /tmp/quill sign-and-notarize "{{ .Path }}" -vv || true
    48            env:
    49              - QUILL_LOG_FILE=/tmp/quill-{{ .Target }}.log
    50    - id: windows
    51      main: ./apps/cnquery/cnquery.go
    52      binary: cnquery
    53      goos:
    54        - windows
    55      goarch:
    56        - amd64
    57        - arm64
    58      # -buildmode exe is required since go 1.15.0 https://github.com/golang/go/issues/40795
    59      flags: -tags production -buildmode exe
    60      ldflags:
    61        - "-extldflags -static"
    62        - -s -w -X go.mondoo.com/cnquery.Version={{.Version}} -X go.mondoo.com/cnquery.Build={{.ShortCommit}} -X go.mondoo.com/cnquery.Date={{.Date}}
    63      hooks:
    64        post:
    65          - cmd: ./scripts/windows-upx.sh "{{ .Path }}"
    66            output: true
    67            env:
    68            - TARGET={{ .Target }}
    69          - cmd: jsign --storetype DIGICERTONE --alias "{{ .Env.SM_CERT_ALIAS }}" --storepass "{{ .Env.SM_API_KEY }}|{{ .Env.SM_CLIENT_CERT_FILE}}|{{ .Env.SM_CLIENT_CERT_PASSWORD }}" --tsaurl "http://timestamp.digicert.com" '{{ .Path }}'
    70  nfpms:
    71    -
    72      maintainer: Mondoo <hello@mondoo.com>
    73      description: Cloud-Native Asset Inventory Framework
    74      homepage: https://mondoo.com/
    75      vendor: Mondoo, Inc
    76      license: MPL-2.0
    77      formats:
    78        - deb
    79        - rpm
    80      rpm:
    81        signature:
    82          key_file: '{{ .Env.GPG_KEY_PATH }}'
    83  archives:
    84    - id: releases
    85      format_overrides:
    86        - goos: windows
    87          format: zip
    88      files:
    89        - none*
    90  checksum:
    91    name_template: '{{ .ProjectName }}_v{{ .Version }}_SHA256SUMS'
    92    algorithm: sha256
    93  snapshot:
    94    name_template: "{{ .Tag }}-snapshot"
    95  changelog:
    96    use: github-native
    97  dockers: # https://goreleaser.com/customization/docker/
    98      # UBI containers
    99    - use: buildx
   100      goos: linux
   101      goarch: amd64
   102      dockerfile: Dockerfile-ubi
   103      image_templates:
   104        - "mondoo/{{ .ProjectName }}:{{ .Version }}-ubi-amd64"
   105        - "mondoo/{{ .ProjectName }}:{{ .Major }}-ubi-amd64"
   106        - "mondoo/{{ .ProjectName }}:latest-ubi-amd64"
   107      build_flag_templates:
   108        - "--platform=linux/amd64"
   109        - "--label=org.opencontainers.image.created={{.Date}}"
   110        - "--label=org.opencontainers.image.title={{.ProjectName}}"
   111        - "--label=org.opencontainers.image.revision={{.FullCommit}}"
   112        - "--label=org.opencontainers.image.version={{.Version}}"
   113        - "--target=root"
   114    - use: buildx
   115      goos: linux
   116      goarch: arm64
   117      dockerfile: Dockerfile-ubi
   118      image_templates:
   119        - "mondoo/{{ .ProjectName }}:{{ .Version }}-ubi-arm64"
   120        - "mondoo/{{ .ProjectName }}:{{ .Major }}-ubi-arm64"
   121        - "mondoo/{{ .ProjectName }}:latest-ubi-arm64"
   122      build_flag_templates:
   123        - "--platform=linux/arm64"
   124        - "--label=org.opencontainers.image.created={{.Date}}"
   125        - "--label=org.opencontainers.image.title={{.ProjectName}}"
   126        - "--label=org.opencontainers.image.revision={{.FullCommit}}"
   127        - "--label=org.opencontainers.image.version={{.Version}}"
   128        - "--target=root"
   129      # Standard containers
   130    - use: buildx
   131      goos: linux
   132      goarch: amd64
   133      image_templates:
   134        - "mondoo/{{ .ProjectName }}:{{ .Version }}-amd64"
   135        - "mondoo/{{ .ProjectName }}:{{ .Major }}-amd64"
   136        - "mondoo/{{ .ProjectName }}:latest-amd64"
   137      build_flag_templates:
   138        - "--platform=linux/amd64"
   139        - "--label=org.opencontainers.image.created={{.Date}}"
   140        - "--label=org.opencontainers.image.title={{.ProjectName}}"
   141        - "--label=org.opencontainers.image.revision={{.FullCommit}}"
   142        - "--label=org.opencontainers.image.version={{.Version}}"
   143        - "--target=root"
   144    - use: buildx
   145      goos: linux
   146      goarch: arm64
   147      image_templates:
   148        - "mondoo/{{ .ProjectName }}:{{ .Version }}-arm64v8"
   149        - "mondoo/{{ .ProjectName }}:{{ .Major }}-arm64v8"
   150        - "mondoo/{{ .ProjectName }}:latest-arm64v8"
   151      build_flag_templates:
   152        - "--platform=linux/arm64/v8"
   153        - "--label=org.opencontainers.image.created={{.Date}}"
   154        - "--label=org.opencontainers.image.title={{.ProjectName}}"
   155        - "--label=org.opencontainers.image.revision={{.FullCommit}}"
   156        - "--label=org.opencontainers.image.version={{.Version}}"
   157        - "--target=root"
   158    - use: buildx
   159      goos: linux
   160      goarch: arm
   161      goarm: 6
   162      image_templates:
   163        - "mondoo/{{ .ProjectName }}:{{ .Version }}-armv6"
   164        - "mondoo/{{ .ProjectName }}:{{ .Major }}-armv6"
   165        - "mondoo/{{ .ProjectName }}:latest-armv6"
   166      build_flag_templates:
   167        - "--platform=linux/arm/v6"
   168        - "--label=org.opencontainers.image.created={{.Date}}"
   169        - "--label=org.opencontainers.image.title={{.ProjectName}}"
   170        - "--label=org.opencontainers.image.revision={{.FullCommit}}"
   171        - "--label=org.opencontainers.image.version={{.Version}}"
   172        - "--target=root"
   173    - use: buildx
   174      goos: linux
   175      goarch: arm
   176      goarm: 7
   177      image_templates:
   178        - "mondoo/{{ .ProjectName }}:{{ .Version }}-armv7"
   179        - "mondoo/{{ .ProjectName }}:{{ .Major }}-armv7"
   180        - "mondoo/{{ .ProjectName }}:latest-armv7"
   181      build_flag_templates:
   182        - "--platform=linux/arm/v7"
   183        - "--label=org.opencontainers.image.created={{.Date}}"
   184        - "--label=org.opencontainers.image.title={{.ProjectName}}"
   185        - "--label=org.opencontainers.image.revision={{.FullCommit}}"
   186        - "--label=org.opencontainers.image.version={{.Version}}"
   187        - "--target=root"
   188    # Rootless
   189      # UBI containers
   190    - use: buildx
   191      goos: linux
   192      goarch: amd64
   193      dockerfile: Dockerfile-ubi
   194      image_templates:
   195        - "mondoo/{{ .ProjectName }}:{{ .Version }}-ubi-amd64-rootless"
   196        - "mondoo/{{ .ProjectName }}:{{ .Major }}-ubi-amd64-rootless"
   197        - "mondoo/{{ .ProjectName }}:latest-ubi-amd64-rootless"
   198      build_flag_templates:
   199        - "--platform=linux/amd64"
   200        - "--label=org.opencontainers.image.created={{.Date}}"
   201        - "--label=org.opencontainers.image.title={{.ProjectName}}"
   202        - "--label=org.opencontainers.image.revision={{.FullCommit}}"
   203        - "--label=org.opencontainers.image.version={{.Version}}"
   204        - "--target=rootless"
   205    - use: buildx
   206      goos: linux
   207      goarch: arm64
   208      dockerfile: Dockerfile-ubi
   209      image_templates:
   210        - "mondoo/{{ .ProjectName }}:{{ .Version }}-ubi-arm64-rootless"
   211        - "mondoo/{{ .ProjectName }}:{{ .Major }}-ubi-arm64-rootless"
   212        - "mondoo/{{ .ProjectName }}:latest-ubi-arm64-rootless"
   213      build_flag_templates:
   214        - "--platform=linux/arm64/v8"
   215        - "--label=org.opencontainers.image.created={{.Date}}"
   216        - "--label=org.opencontainers.image.title={{.ProjectName}}"
   217        - "--label=org.opencontainers.image.revision={{.FullCommit}}"
   218        - "--label=org.opencontainers.image.version={{.Version}}"
   219        - "--target=rootless"
   220      # Standard containers
   221    - use: buildx
   222      goos: linux
   223      goarch: amd64
   224      image_templates:
   225        - "mondoo/{{ .ProjectName }}:{{ .Version }}-amd64-rootless"
   226        - "mondoo/{{ .ProjectName }}:{{ .Major }}-amd64-rootless"
   227        - "mondoo/{{ .ProjectName }}:latest-amd64-rootless"
   228      build_flag_templates:
   229        - "--platform=linux/amd64"
   230        - "--label=org.opencontainers.image.created={{.Date}}"
   231        - "--label=org.opencontainers.image.title={{.ProjectName}}"
   232        - "--label=org.opencontainers.image.revision={{.FullCommit}}"
   233        - "--label=org.opencontainers.image.version={{.Version}}"
   234        - "--target=rootless"
   235    - use: buildx
   236      goos: linux
   237      goarch: arm64
   238      image_templates:
   239        - "mondoo/{{ .ProjectName }}:{{ .Version }}-arm64v8-rootless"
   240        - "mondoo/{{ .ProjectName }}:{{ .Major }}-arm64v8-rootless"
   241        - "mondoo/{{ .ProjectName }}:latest-arm64v8-rootless"
   242      build_flag_templates:
   243        - "--platform=linux/arm64/v8"
   244        - "--label=org.opencontainers.image.created={{.Date}}"
   245        - "--label=org.opencontainers.image.title={{.ProjectName}}"
   246        - "--label=org.opencontainers.image.revision={{.FullCommit}}"
   247        - "--label=org.opencontainers.image.version={{.Version}}"
   248        - "--target=rootless"
   249    - use: buildx
   250      goos: linux
   251      goarch: arm
   252      goarm: 6
   253      image_templates:
   254        - "mondoo/{{ .ProjectName }}:{{ .Version }}-armv6-rootless"
   255        - "mondoo/{{ .ProjectName }}:{{ .Major }}-armv6-rootless"
   256        - "mondoo/{{ .ProjectName }}:latest-armv6-rootless"
   257      build_flag_templates:
   258        - "--platform=linux/arm/v6"
   259        - "--label=org.opencontainers.image.created={{.Date}}"
   260        - "--label=org.opencontainers.image.title={{.ProjectName}}"
   261        - "--label=org.opencontainers.image.revision={{.FullCommit}}"
   262        - "--label=org.opencontainers.image.version={{.Version}}"
   263        - "--target=rootless"
   264    - use: buildx
   265      goos: linux
   266      goarch: arm
   267      goarm: 7
   268      image_templates:
   269        - "mondoo/{{ .ProjectName }}:{{ .Version }}-armv7-rootless"
   270        - "mondoo/{{ .ProjectName }}:{{ .Major }}-armv7-rootless"
   271        - "mondoo/{{ .ProjectName }}:latest-armv7-rootless"
   272      build_flag_templates:
   273        - "--platform=linux/arm/v7"
   274        - "--label=org.opencontainers.image.created={{.Date}}"
   275        - "--label=org.opencontainers.image.title={{.ProjectName}}"
   276        - "--label=org.opencontainers.image.revision={{.FullCommit}}"
   277        - "--label=org.opencontainers.image.version={{.Version}}"
   278        - "--target=rootless"
   279  docker_manifests:  # https://goreleaser.com/customization/docker_manifest/
   280      # UBI containers
   281    - name_template: mondoo/{{ .ProjectName }}:{{ .Version }}-ubi
   282      image_templates:
   283        - mondoo/{{ .ProjectName }}:{{ .Version }}-ubi-amd64
   284        - mondoo/{{ .ProjectName }}:{{ .Version }}-ubi-arm64
   285    - name_template: mondoo/{{ .ProjectName }}:{{ .Major }}-ubi
   286      image_templates:
   287        - mondoo/{{ .ProjectName }}:{{ .Major }}-ubi-amd64
   288        - mondoo/{{ .ProjectName }}:{{ .Major }}-ubi-arm64
   289    - name_template: mondoo/{{ .ProjectName }}:latest
   290      image_templates:
   291        - mondoo/{{ .ProjectName }}:latest-amd64
   292        - mondoo/{{ .ProjectName }}:latest-arm64v8
   293        - mondoo/{{ .ProjectName }}:latest-armv6
   294        - mondoo/{{ .ProjectName }}:latest-armv7
   295      # Standard containers
   296    - name_template: mondoo/{{ .ProjectName }}:{{ .Version }}
   297      image_templates:
   298        - mondoo/{{ .ProjectName }}:{{ .Version }}-amd64
   299        - mondoo/{{ .ProjectName }}:{{ .Version }}-arm64v8
   300        - mondoo/{{ .ProjectName }}:{{ .Version }}-armv6
   301        - mondoo/{{ .ProjectName }}:{{ .Version }}-armv7
   302    - name_template: mondoo/{{ .ProjectName }}:{{ .Major }}
   303      image_templates:
   304        - mondoo/{{ .ProjectName }}:{{ .Major }}-amd64
   305        - mondoo/{{ .ProjectName }}:{{ .Major }}-arm64v8
   306        - mondoo/{{ .ProjectName }}:{{ .Major }}-armv6
   307        - mondoo/{{ .ProjectName }}:{{ .Major }}-armv7
   308    - name_template: mondoo/{{ .ProjectName }}:latest
   309      image_templates:
   310        - mondoo/{{ .ProjectName }}:latest-amd64
   311        - mondoo/{{ .ProjectName }}:latest-arm64v8
   312        - mondoo/{{ .ProjectName }}:latest-armv6
   313        - mondoo/{{ .ProjectName }}:latest-armv7
   314    # Rootless
   315      # UBI containers
   316    - name_template: mondoo/{{ .ProjectName }}:{{ .Version }}-ubi-rootless
   317      image_templates:
   318        - mondoo/{{ .ProjectName }}:{{ .Version }}-ubi-amd64-rootless
   319        - mondoo/{{ .ProjectName }}:{{ .Version }}-ubi-arm64-rootless
   320    - name_template: mondoo/{{ .ProjectName }}:{{ .Major }}-ubi-rootless
   321      image_templates:
   322        - mondoo/{{ .ProjectName }}:{{ .Major }}-ubi-amd64-rootless
   323        - mondoo/{{ .ProjectName }}:{{ .Major }}-ubi-arm64-rootless
   324    - name_template: mondoo/{{ .ProjectName }}:latest-ubi-rootless
   325      image_templates:
   326        - mondoo/{{ .ProjectName }}:latest-ubi-amd64-rootless
   327        - mondoo/{{ .ProjectName }}:latest-ubi-arm64-rootless
   328      # Standard containers
   329    - name_template: mondoo/{{ .ProjectName }}:{{ .Version }}-rootless
   330      image_templates:
   331        - mondoo/{{ .ProjectName }}:{{ .Version }}-amd64-rootless
   332        - mondoo/{{ .ProjectName }}:{{ .Version }}-arm64v8-rootless
   333        - mondoo/{{ .ProjectName }}:{{ .Version }}-armv6-rootless
   334        - mondoo/{{ .ProjectName }}:{{ .Version }}-armv7-rootless
   335    - name_template: mondoo/{{ .ProjectName }}:{{ .Major }}-rootless
   336      image_templates:
   337        - mondoo/{{ .ProjectName }}:{{ .Major }}-amd64-rootless
   338        - mondoo/{{ .ProjectName }}:{{ .Major }}-arm64v8-rootless
   339        - mondoo/{{ .ProjectName }}:{{ .Major }}-armv6-rootless
   340        - mondoo/{{ .ProjectName }}:{{ .Major }}-armv7-rootless
   341    - name_template: mondoo/{{ .ProjectName }}:latest-rootless
   342      image_templates:
   343        - mondoo/{{ .ProjectName }}:latest-amd64-rootless
   344        - mondoo/{{ .ProjectName }}:latest-arm64v8-rootless
   345        - mondoo/{{ .ProjectName }}:latest-armv6-rootless
   346        - mondoo/{{ .ProjectName }}:latest-armv7-rootless