.goreleaser.yml 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221
  1. project_name: OliveTin
  2. version: 2
  3. before:
  4. hooks:
  5. - make service-prep
  6. builds:
  7. - env:
  8. - CGO_ENABLED=0
  9. binary: OliveTin
  10. main: main.go
  11. dir: service
  12. goos:
  13. - linux
  14. - windows
  15. - darwin
  16. - freebsd
  17. goarch:
  18. - amd64
  19. - arm64
  20. - arm
  21. - riscv64
  22. goarm:
  23. - 5 # For old RPIs
  24. - 6
  25. - 7
  26. ignore:
  27. - goos: darwin
  28. goarch: arm # Mac does not work on [32bit] arm
  29. - goos: windows
  30. goarch: arm
  31. - goos: windows # Does anyone use Windows on arm64?
  32. goarch: arm64
  33. ldflags:
  34. - -s -w -X main.version={{.Version}} -X main.commit={{.ShortCommit}} -X main.date={{ .CommitDate }}
  35. checksum:
  36. name_template: 'checksums.txt'
  37. snapshot:
  38. version_template: "{{ .Branch }}-{{ .ShortCommit }}"
  39. changelog:
  40. sort: asc
  41. groups:
  42. - title: 'Security'
  43. regexp: '^.*?security(\([[:word:]]+\))??!?:.+$'
  44. order: 0
  45. - title: 'Features'
  46. regexp: '^.*?feat.*?(\([[:word:]]+\))??!?:.+$'
  47. order: 1
  48. - title: 'Bug fixes'
  49. regexp: '^.*?fix(\([[:word:]]+\))??!?:.+$'
  50. order: 2
  51. - title: Others
  52. order: 999
  53. filters:
  54. exclude:
  55. - '^docs:'
  56. - '^test:'
  57. - '^cicd:'
  58. - '^refactor:'
  59. archives:
  60. - formats: tar.gz
  61. files:
  62. - config.yaml
  63. - LICENSE
  64. - README.md
  65. - Dockerfile
  66. - webui
  67. - ./var/
  68. name_template: "{{ .ProjectName }}-{{ .Os }}-{{ .Arch }}{{ .Arm }}"
  69. wrap_in_directory: true
  70. format_overrides:
  71. - goos: windows
  72. formats: zip
  73. dockers:
  74. - image_templates:
  75. - "docker.io/jamesread/olivetin:{{ .Tag }}-amd64"
  76. - "ghcr.io/olivetin/olivetin:{{ .Tag }}-amd64"
  77. dockerfile: Dockerfile
  78. goos: linux
  79. goarch: amd64
  80. skip_push: false
  81. build_flag_templates:
  82. - "--platform=linux/amd64"
  83. - "--label=org.opencontainers.image.revision={{.FullCommit}}"
  84. - "--label=org.opencontainers.image.version={{.Tag}}"
  85. extra_files:
  86. - webui
  87. - var/entities/
  88. - config.yaml
  89. - var/helper-actions/
  90. - image_templates:
  91. - "docker.io/jamesread/olivetin:{{ .Tag }}-arm64"
  92. - "ghcr.io/olivetin/olivetin:{{ .Tag }}-arm64"
  93. dockerfile: Dockerfile.arm64
  94. goos: linux
  95. goarch: arm64
  96. skip_push: false
  97. build_flag_templates:
  98. - "--platform=linux/arm64"
  99. - "--label=org.opencontainers.image.revision={{.FullCommit}}"
  100. - "--label=org.opencontainers.image.version={{.Tag}}"
  101. extra_files:
  102. - webui
  103. - var/entities/
  104. - config.yaml
  105. - var/helper-actions/
  106. docker_manifests:
  107. - name_template: docker.io/jamesread/olivetin:{{ .Version }}
  108. image_templates:
  109. - docker.io/jamesread/olivetin:{{ .Version }}-amd64
  110. - docker.io/jamesread/olivetin:{{ .Version }}-arm64
  111. - name_template: docker.io/jamesread/olivetin:latest-2k
  112. image_templates:
  113. - docker.io/jamesread/olivetin:{{ .Version }}-amd64
  114. - docker.io/jamesread/olivetin:{{ .Version }}-arm64
  115. - name_template: ghcr.io/olivetin/olivetin:{{ .Version }}
  116. image_templates:
  117. - ghcr.io/olivetin/olivetin:{{ .Version }}-amd64
  118. - ghcr.io/olivetin/olivetin:{{ .Version }}-arm64
  119. - name_template: ghcr.io/olivetin/olivetin:latest-2k
  120. image_templates:
  121. - ghcr.io/olivetin/olivetin:{{ .Version }}-amd64
  122. - ghcr.io/olivetin/olivetin:{{ .Version }}-arm64
  123. nfpms:
  124. - id: default
  125. maintainer: James Read <contact@jread.com>
  126. description: OliveTin is a web interface for running Linux shell commands.
  127. homepage: https://github.com/OliveTin/OliveTin
  128. license: AGPL-3.0
  129. formats:
  130. - deb
  131. - rpm
  132. bindir: /usr/local/bin/
  133. file_name_template: '{{ .PackageName }}_{{ .Os }}_{{ .Arch }}{{ with .Arm }}v{{ . }}{{ end }}{{ with .Mips }}_{{ . }}{{ end }}{{ if not (eq .Amd64 "v1") }}{{ .Amd64 }}{{ end }}'
  134. contents:
  135. - src: var/systemd/OliveTin.service
  136. dst: /etc/systemd/system/OliveTin.service
  137. - src: webui/*
  138. dst: /var/www/olivetin/
  139. - src: config.yaml
  140. dst: /etc/OliveTin/config.yaml
  141. type: "config|noreplace"
  142. - src: var/entities/*
  143. dst: /etc/OliveTin/entities/
  144. type: "config|noreplace"
  145. - src: var/manpage/OliveTin.1.gz
  146. dst: /usr/share/man/man1/OliveTin.1.gz
  147. - id: openrc
  148. maintainer: James Read <contact@jread.com>
  149. description: OliveTin is a web interface for running Linux shell commands.
  150. homepage: https://github.com/OliveTin/OliveTin
  151. license: AGPL-3.0
  152. formats:
  153. - apk
  154. bindir: /usr/local/bin/
  155. file_name_template: '{{ .PackageName }}_{{ .Os }}_{{ .Arch }}{{ with .Arm }}v{{ . }}{{ end }}{{ with .Mips }}_{{ . }}{{ end }}{{ if not (eq .Amd64 "v1") }}{{ .Amd64 }}{{ end }}'
  156. contents:
  157. - src: var/openrc/OliveTin
  158. dst: /etc/init.d/OliveTin
  159. - src: webui/*
  160. dst: /var/www/olivetin/
  161. - src: config.yaml
  162. dst: /etc/OliveTin/config.yaml
  163. type: "config|noreplace"
  164. - src: var/entities/*
  165. dst: /etc/OliveTin/entities/
  166. type: "config|noreplace"
  167. - src: var/manpage/OliveTin.1.gz
  168. dst: /usr/share/man/man1/OliveTin.1.gz
  169. release:
  170. make_latest: false
  171. footer: |
  172. ## Container images (from GitHub)
  173. - `docker pull ghcr.io/olivetin/olivetin:{{ .Version }}`
  174. ## Container images ([on Docker Hub](https://hub.docker.com/r/jamesread/olivetin/tags?page=1&ordering=last_updated))
  175. - `docker pull docker.io/jamesread/olivetin:{{ .Version }}`
  176. ## Upgrade warnings, or breaking changes
  177. - No such issues between the last release and this version.
  178. ## Useful links
  179. - [Which download do I need?](https://docs.olivetin.app/install/choose_package.html)
  180. - [Ask for help and chat with others users in the Discord community](https://discord.gg/jhYWWpNJ3v)
  181. Thanks for your interest in OliveTin!