...

Text file src/github.com/sigstore/rekor/.goreleaser.yml

Documentation: github.com/sigstore/rekor

     1project_name: rekor
     2
     3env:
     4  - GO111MODULE=on
     5  - CGO_ENABLED=0
     6  - DOCKER_CLI_EXPERIMENTAL=enabled
     7  - COSIGN_YES=true
     8
     9# Prevents parallel builds from stepping on eachothers toes downloading modules
    10before:
    11  hooks:
    12    - go mod tidy
    13    - /bin/bash -c 'if [ -n "$(git --no-pager diff --exit-code go.mod go.sum)" ]; then exit 1; fi'
    14# if running a release we will generate the images in this step
    15# if running in the CI the CI env va is set by github action runner and we dont run the ko steps
    16# this is needed because we are generating files that goreleaser was not aware to push to GH project release
    17    - /bin/bash -c 'if [ -z "$CI" ]; then make sign-container-release; fi'
    18
    19gomod:
    20  proxy: true
    21
    22sboms:
    23  - artifacts: binary
    24
    25builds:
    26  - id: rekor-server-linux
    27    binary: rekor-server-linux-{{ .Arch }}
    28    no_unique_dist_dir: true
    29    main: ./cmd/rekor-server
    30    goos:
    31      - linux
    32    goarch:
    33      - amd64
    34      - arm64
    35      - arm
    36      - s390x
    37      - ppc64le
    38    goarm:
    39      - 7
    40    flags:
    41      - -trimpath
    42    mod_timestamp: '{{ .CommitTimestamp }}'
    43    ldflags:
    44      - "{{ .Env.SERVER_LDFLAGS }}"
    45
    46  - id: rekor-cli
    47    binary: rekor-cli-{{ .Os }}-{{ .Arch }}
    48    no_unique_dist_dir: true
    49    main: ./cmd/rekor-cli
    50    goos:
    51      - linux
    52      - darwin
    53      - windows
    54    goarch:
    55      - amd64
    56      - arm64
    57      - arm
    58      - s390x
    59      - ppc64le
    60    goarm:
    61      - 7
    62    ignore:
    63      - goos: windows
    64        goarch: arm64
    65      - goos: windows
    66        goarch: arm
    67      - goos: windows
    68        goarch: s390x
    69      - goos: windows
    70        goarch: ppc64le
    71    flags:
    72      - -trimpath
    73    mod_timestamp: '{{ .CommitTimestamp }}'
    74    ldflags:
    75     - "{{ .Env.CLI_LDFLAGS }}"
    76
    77signs:
    78  - id: rekor
    79    signature: "${artifact}.sig"
    80    cmd: cosign
    81    args: ["sign-blob", "--output-signature", "${artifact}.sig", "--key", "gcpkms://projects/{{ .Env.PROJECT_ID }}/locations/{{ .Env.KEY_LOCATION }}/keyRings/{{ .Env.KEY_RING }}/cryptoKeys/{{ .Env.KEY_NAME }}/versions/{{ .Env.KEY_VERSION }}", "${artifact}"]
    82    artifacts: binary
    83  # Keyless
    84  - id: rekor-keyless
    85    signature: "${artifact}-keyless.sig"
    86    certificate: "${artifact}-keyless.pem"
    87    cmd: cosign
    88    args: ["sign-blob", "--output-signature", "${artifact}-keyless.sig", "--output-certificate", "${artifact}-keyless.pem", "${artifact}"]
    89    artifacts: binary
    90  - id: checksum-keyless
    91    signature: "${artifact}-keyless.sig"
    92    certificate: "${artifact}-keyless.pem"
    93    cmd: cosign
    94    args: ["sign-blob", "--output-signature", "${artifact}-keyless.sig", "--output-certificate", "${artifact}-keyless.pem", "${artifact}"]
    95    artifacts: checksum
    96
    97archives:
    98  - format: binary
    99    name_template: "{{ .Binary }}"
   100    allow_different_binary_count: true
   101
   102checksum:
   103  name_template: "{{ .ProjectName }}_checksums.txt"
   104
   105snapshot:
   106  name_template: SNAPSHOT-{{ .ShortCommit }}
   107
   108release:
   109  prerelease: allow # remove this when we start publishing non-prerelease or set to auto
   110  draft: true # allow for manual edits
   111  github:
   112    owner: sigstore
   113    name: rekor
   114  footer: |
   115    ### Thanks for all contributors!
   116
   117  extra_files:
   118    - glob: "./rekor*.yaml"

View as plain text