github.com/sagernet/sing-box@v1.9.0-rc.20/.goreleaser.yaml (about)

     1  project_name: sing-box
     2  builds:
     3    - &template
     4      id: main
     5      main: ./cmd/sing-box
     6      flags:
     7        - -v
     8        - -trimpath
     9      ldflags:
    10        - -X github.com/sagernet/sing-box/constant.Version={{ .Version }} -s -w -buildid=
    11      tags:
    12        - with_gvisor
    13        - with_quic
    14        - with_dhcp
    15        - with_wireguard
    16        - with_ech
    17        - with_utls
    18        - with_reality_server
    19        - with_acme
    20        - with_clash_api
    21      env:
    22        - CGO_ENABLED=0
    23      targets:
    24        - linux_386
    25        - linux_amd64_v1
    26        - linux_amd64_v3
    27        - linux_arm64
    28        - linux_arm_7
    29        - linux_s390x
    30        - linux_riscv64
    31        - windows_amd64_v1
    32        - windows_amd64_v3
    33        - windows_386
    34        - windows_arm64
    35        - darwin_amd64_v1
    36        - darwin_arm64
    37      mod_timestamp: '{{ .CommitTimestamp }}'
    38    - id: legacy
    39      <<: *template
    40      tags:
    41        - with_gvisor
    42        - with_quic
    43        - with_dhcp
    44        - with_wireguard
    45        - with_utls
    46        - with_reality_server
    47        - with_acme
    48        - with_clash_api
    49      env:
    50        - CGO_ENABLED=0
    51        - GOROOT={{ .Env.GOPATH }}/go1.20.14
    52      gobinary: "{{ .Env.GOPATH }}/go1.20.14/bin/go"
    53      targets:
    54        - windows_amd64_v1
    55        - windows_386
    56        - darwin_amd64_v1
    57    - id: android
    58      <<: *template
    59      env:
    60        - CGO_ENABLED=1
    61      overrides:
    62        - goos: android
    63          goarch: arm
    64          goarm: 7
    65          env:
    66            - CC=armv7a-linux-androideabi21-clang
    67            - CXX=armv7a-linux-androideabi21-clang++
    68        - goos: android
    69          goarch: arm64
    70          env:
    71            - CC=aarch64-linux-android21-clang
    72            - CXX=aarch64-linux-android21-clang++
    73        - goos: android
    74          goarch: 386
    75          env:
    76            - CC=i686-linux-android21-clang
    77            - CXX=i686-linux-android21-clang++
    78        - goos: android
    79          goarch: amd64
    80          goamd64: v1
    81          env:
    82            - CC=x86_64-linux-android21-clang
    83            - CXX=x86_64-linux-android21-clang++
    84      targets:
    85        - android_arm_7
    86        - android_arm64
    87        - android_386
    88        - android_amd64
    89  snapshot:
    90    name_template: "{{ .Version }}.{{ .ShortCommit }}"
    91  archives:
    92    - &template
    93      id: archive
    94      builds:
    95        - main
    96        - android
    97      format: tar.gz
    98      format_overrides:
    99        - goos: windows
   100          format: zip
   101      wrap_in_directory: true
   102      files:
   103        - LICENSE
   104      name_template: '{{ .ProjectName }}-{{ .Version }}-{{ .Os }}-{{ .Arch }}{{ with .Arm }}v{{ . }}{{ end }}{{ with .Mips }}_{{ . }}{{ end }}{{ if not (eq .Amd64 "v1") }}{{ .Amd64 }}{{ end }}'
   105    - id: archive-legacy
   106      <<: *template
   107      builds:
   108        - legacy
   109      name_template: '{{ .ProjectName }}-{{ .Version }}-{{ .Os }}-{{ .Arch }}-legacy'
   110  nfpms:
   111    - id: package
   112      package_name: sing-box
   113      file_name_template: '{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}{{ with .Arm }}v{{ . }}{{ end }}{{ with .Mips }}_{{ . }}{{ end }}{{ if not (eq .Amd64 "v1") }}{{ .Amd64 }}{{ end }}'
   114      builds:
   115        - main
   116      vendor: sagernet
   117      homepage: https://sing-box.sagernet.org/
   118      maintainer: nekohasekai <contact-git@sekai.icu>
   119      description: The universal proxy platform.
   120      license: GPLv3 or later
   121      formats:
   122        - deb
   123        - rpm
   124        - archlinux
   125      priority: extra
   126      contents:
   127        - src: release/config/config.json
   128          dst: /etc/sing-box/config.json
   129          type: config
   130        - src: release/config/sing-box.service
   131          dst: /usr/lib/systemd/system/sing-box.service
   132        - src: release/config/sing-box@.service
   133          dst: /usr/lib/systemd/system/sing-box@.service
   134        - src: LICENSE
   135          dst: /usr/share/licenses/sing-box/LICENSE
   136      deb:
   137        signature:
   138          key_file: "{{ .Env.NFPM_KEY_PATH }}"
   139        fields:
   140          Bugs: https://github.com/SagerNet/sing-box/issues
   141      rpm:
   142        signature:
   143          key_file: "{{ .Env.NFPM_KEY_PATH }}"
   144      overrides:
   145        deb:
   146          conflicts:
   147            - sing-box-beta
   148        rpm:
   149          conflicts:
   150            - sing-box-beta
   151  
   152  source:
   153    enabled: false
   154    name_template: '{{ .ProjectName }}-{{ .Version }}.source'
   155    prefix_template: '{{ .ProjectName }}-{{ .Version }}/'
   156  checksum:
   157    disable: true
   158    name_template: '{{ .ProjectName }}-{{ .Version }}.checksum'
   159  signs:
   160    - artifacts: checksum
   161  release:
   162    github:
   163      owner: SagerNet
   164      name: sing-box
   165    draft: true
   166    prerelease: auto
   167    mode: replace
   168    ids:
   169      - archive
   170      - package
   171    skip_upload: true