Skip to content

schema.json lists the MacOS Notarize timeout field as integer #5618

@caarlos0

Description

@caarlos0

Discussed in https://github.com/orgs/goreleaser/discussions/5616

Originally posted by briangardner March 5, 2025
The timeout field in notarize.macos.notarize is a time.Duration, meaning it needs to be a string to support values like 20m.

Example Notarize block:

notarize:
  macos:
    - ids:
      - build1
      enabled: '{{ isEnvSet "MACOS_SIGN_P12" }}'
      sign:
        certificate: '{{.Env.MACOS_SIGN_P12 }}'
        password: '{{.Env.MACOS_SIGN_P12_PASSWORD }}'
      notarize:
        issuer_id: '{{.Env.MACOS_SIGN_ISSUER_ID }}'
        key: '{{.Env.MACOS_SIGN_KEY }}'
        key_id: {{.Env.MACOS_SIGN_KEY_ID }}'
        wait: true
        timeout: 20

This will generate the error

error=
    │ failed to load configuration: yaml: unmarshal errors:
    │   line 108: cannot unmarshal !!int `20` into time.Duration
```</div>

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions