github.com/study-group-99/pilates@v0.2.2/.goreleaser.yml (about) 1 before: 2 hooks: 3 - go mod tidy 4 builds: 5 - env: 6 - CGO_ENABLED=0 7 goos: 8 - linux 9 - darwin 10 goarch: 11 - 386 12 - amd64 13 - arm 14 - arm64 15 main: ./cmd/pilates 16 17 archives: 18 - replacements: 19 darwin: MacOS 20 linux: Linux 21 386: i386 22 amd64: x86_64 23 files: 24 - README.md 25 - LICENSE 26 checksum: 27 name_template: 'checksums.txt' 28 snapshot: 29 name_template: "{{ .Tag }}-next" 30 changelog: 31 sort: asc 32 filters: 33 exclude: 34 - '^docs:' 35 - '^test:' 36 37 release: 38 github: 39 owner: study-group-99 40 name: pilates 41 prerelease: auto 42 name_template: "{{.ProjectName}}-v{{.Version}}" 43 44 # brews: 45 # - 46 # name: pilates 47 # goarm: 6 48 # tap: 49 # owner: study-group-99 50 # name: pilates 51 # # Optionally a token can be provided, if it differs from the token provided to GoReleaser 52 # # token: "{{ .Env.HOMEBREW_TAP_GITHUB_TOKEN }}" 53 54 # # Template for the url which is determined by the given Token (github or gitlab) 55 # # Default for github is "https://github.com/<repo_owner>/<repo_name>/releases/download/{{ .Tag }}/{{ .ArtifactName }}" 56 # url_template: "http://github.mycompany.com/foo/bar/releases/{{ .Tag }}/{{ .ArtifactName }}" 57 58 # # Allows you to set a custom download strategy. Note that you'll need 59 # # to implement the strategy and add it to your tap repository. 60 # # Example: https://docs.brew.sh/Formula-Cookbook#specifying-the-download-strategy-explicitly 61 # # Default is empty. 62 # download_strategy: CurlDownloadStrategy. 63 64 # # Allows you to add a custom require_relative at the top of the formula template 65 # # Default is empty 66 # custom_require: custom_download_strategy 67 # commit_author: 68 # name: study-group-99 69 # email: pilates@gym.code 70 # # caveats: "How to use this binary" 71 # homepage: "https://github.com/study-group-99/pilates" 72 # description: "Common core tester." 73 # license: "UNLICENSE" 74 # dependencies: 75 # - name: cmake 76 # - name: gcovr 77 # type: optional 78 # - name: norminette 79 # type: optional 80 81 # # So you can `brew test` your formula. 82 # # Default is empty. 83 # test: | 84 # system "#{bin}/program --version" 85 86 # # Custom install script for brew. 87 # # Default is 'bin.install "program"'. 88 # install: | 89 # bin.install "program" 90 91 # nfpms: 92 # # note that this is an array of nfpm configs 93 # - 94 # # ID of the nfpm config, must be unique. 95 # # Defaults to "default". 96 # id: pilates 97 98 # # Name of the package. 99 # # Defaults to `ProjectName`. 100 # package_name: pilates 101 102 # # You can change the file name of the package. 103 # # Default: `{{ .PackageName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}{{ if .Mips }}_{{ .Mips }}{{ end }}` 104 # file_name_template: "{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}" 105 106 107 # # Replacements for GOOS and GOARCH in the package name. 108 # # Keys should be valid GOOSs or GOARCHs. 109 # # Values are the respective replacements. 110 # # Default is empty. 111 # replacements: 112 # amd64: 64-bit 113 # 386: 32-bit 114 # darwin: macOS 115 116 # # Your app's vendor. 117 # # Default is empty. 118 # vendor: Study Group 99 119 120 # # Template to your app's homepage. 121 # # Default is empty. 122 # homepage: https://github.com/study-group-99/pilates 123 124 # # Your app's maintainer (probably you). 125 # # Default is empty. 126 # maintainer: bh90210 <ktc@protonmail.ch> 127 128 # # Template to your app's description. 129 # # Default is empty. 130 # description: Common core tester. 131 132 # # Your app's license. 133 # # Default is empty. 134 # license: Unlicense 135 136 # # Formats to be generated. 137 # formats: 138 # - deb 139 # - rpm 140 141 # # Packages your package depends on. 142 # dependencies: 143 # - cmake 144 145 # # Packages your package recommends installing. 146 # recommends: 147 # - gcovr 148 149 # # Override default /usr/local/bin destination for binaries 150 # bindir: /usr/bin 151 152 # # Version Epoch. 153 # # Default is extracted from `version` if it is semver compatible. 154 # epoch: 2 155 156 # # Version Prerelease. 157 # # Default is extracted from `version` if it is semver compatible. 158 # prerelease: beta 159 160 # # Version Metadata (previously deb.metadata). 161 # # Default is extracted from `version` if it is semver compatible. 162 # # Setting metadata might interfere with version comparisons depending on the packager. 163 # version_metadata: git 164 165 # # Version Release. 166 # release: 1 167 168 # # Section. 169 # section: default 170 171 # # Priority. 172 # priority: extra 173 174 # # Contents to add to the package. 175 # # GoReleaser will automatically add the binaries. 176 # contents: 177 # # Basic file that applies to all packagers 178 # - src: path/to/local/foo 179 # dst: /usr/local/bin/foo 180 181 # # Simple config file 182 # - src: path/to/local/foo.conf 183 # dst: /etc/foo.conf 184 # type: config 185 186 # # Simple symlink. 187 # # Corresponds to `ln -s /sbin/foo /usr/local/bin/foo` 188 # - src: /sbin/foo 189 # dst: /usr/local/bin/foo 190 # type: "symlink" 191 192 # # Corresponds to `%config(noreplace)` if the packager is rpm, otherwise it is just a config file 193 # - src: path/to/local/bar.conf 194 # dst: /etc/bar.conf 195 # type: "config|noreplace" 196 197 # # The src and dst attributes also supports name templates 198 # - src: path/{{ .Os }}-{{ .Arch }}/bar.conf 199 # dst: /etc/foo/bar-{{ .ProjectName }}.conf 200 201 # # These files are not actually present in the package, but the file names 202 # # are added to the package header. From the RPM directives documentation: 203 # # 204 # # "There are times when a file should be owned by the package but not 205 # # installed - log files and state files are good examples of cases you might 206 # # desire this to happen." 207 # # 208 # # "The way to achieve this, is to use the %ghost directive. By adding this 209 # # directive to the line containing a file, RPM will know about the ghosted 210 # # file, but will not add it to the package." 211 # # 212 # # For non rpm packages ghost files are ignored at this time. 213 # - dst: /etc/casper.conf 214 # type: ghost 215 # - dst: /var/log/boo.log 216 # type: ghost 217 218 # # You can user the packager field to add files that are unique to a specific packager 219 # - src: path/to/rpm/file.conf 220 # dst: /etc/file.conf 221 # type: "config|noreplace" 222 # packager: rpm 223 # - src: path/to/deb/file.conf 224 # dst: /etc/file.conf 225 # type: "config|noreplace" 226 # packager: deb 227 # - src: path/to/apk/file.conf 228 # dst: /etc/file.conf 229 # type: "config|noreplace" 230 # packager: apk 231 232 # # Sometimes it is important to be able to set the mtime, mode, owner, or group for a file 233 # # that differs from what is on the local build system at build time. 234 # - src: path/to/foo 235 # dst: /usr/local/foo 236 # file_info: 237 # mode: 0644 238 # mtime: 2008-01-02T15:04:05Z 239 # owner: notRoot 240 # group: notRoot 241 242 # # Scripts to execute during the installation of the package. 243 # # Keys are the possible targets during the installation process 244 # # Values are the paths to the scripts which will be executed 245 # scripts: 246 # preinstall: "scripts/preinstall.sh" 247 # postinstall: "scripts/postinstall.sh" 248 # preremove: "scripts/preremove.sh" 249 # postremove: "scripts/postremove.sh" 250 251 # # Some attributes can be overridden per package format. 252 # overrides: 253 # deb: 254 # conflicts: 255 # - subversion 256 # dependencies: 257 # - git 258 # suggests: 259 # - gitk 260 # recommends: 261 # - tig 262 # replaces: 263 # - bash 264 # empty_folders: 265 # - /var/log/bar 266 # rpm: 267 # replacements: 268 # amd64: x86_64 269 # file_name_template: "{{ .ProjectName }}-{{ .Version }}-{{ .Arch }}" 270 # files: 271 # "tmp/man.gz": "/usr/share/man/man8/app.8.gz" 272 # config_files: 273 # "tmp/app_generated.conf": "/etc/app-rpm.conf" 274 # scripts: 275 # preinstall: "scripts/preinstall-rpm.sh" 276 277 # # Custom configuration applied only to the RPM packager. 278 # rpm: 279 # # RPM specific scripts. 280 # scripts: 281 # # The pretrans script runs before all RPM package transactions / stages. 282 # pretrans: ./scripts/pretrans.sh 283 # # The posttrans script runs after all RPM package transactions / stages. 284 # posttrans: ./scripts/posttrans.sh 285 286 # # The package summary. 287 # # Defaults to the first line of the description. 288 # summary: Explicit Summary for Sample Package 289 290 # # The package group. This option is deprecated by most distros 291 # # but required by old distros like CentOS 5 / EL 5 and earlier. 292 # group: Unspecified 293 294 # # Compression algorithm. 295 # compression: lzma 296 297 # # These config files will not be replaced by new versions if they were 298 # # changed by the user. Corresponds to %config(noreplace). 299 # config_noreplace_files: 300 # path/to/local/bar.con: /etc/bar.conf 301 302 # # These files are not actually present in the package, but the file names 303 # # are added to the package header. From the RPM directives documentation: 304 # # 305 # # "There are times when a file should be owned by the package but not 306 # # installed - log files and state files are good examples of cases you might 307 # # desire this to happen." 308 # # 309 # # "The way to achieve this, is to use the %ghost directive. By adding this 310 # # directive to the line containing a file, RPM will know about the ghosted 311 # # file, but will not add it to the package." 312 # ghost_files: 313 # - /etc/casper.conf 314 # - /var/log/boo.log 315 316 # # The package is signed if a key_file is set 317 # signature: 318 # # PGP secret key (can also be ASCII-armored). The passphrase is taken 319 # # from the environment variable $NFPM_ID_RPM_PASSPHRASE with a fallback 320 # # to $NFPM_ID_PASSPHRASE, where ID is the id of the current nfpm config. 321 # # The id will be transformed to uppercase. 322 # # E.g. If your nfpm id is 'default' then the rpm-specific passphrase 323 # # should be set as $NFPM_DEFAULT_RPM_PASSPHRASE 324 # key_file: key.gpg 325 326 # # Custom configuration applied only to the Deb packager. 327 # deb: 328 # # Custom deb special files. 329 # scripts: 330 # # Deb rules script. 331 # rules: foo.sh 332 # # Deb templates file, when using debconf. 333 # templates: templates 334 335 # # Custom deb triggers 336 # triggers: 337 # # register interrest on a trigger activated by another package 338 # # (also available: interest_await, interest_noawait) 339 # interest: 340 # - some-trigger-name 341 # # activate a trigger for another package 342 # # (also available: activate_await, activate_noawait) 343 # activate: 344 # - another-trigger-name 345 346 # # Packages which would break if this package would be installed. 347 # # The installation of this package is blocked if `some-package` 348 # # is already installed. 349 # breaks: 350 # - some-package 351 352 # # The package is signed if a key_file is set 353 # signature: 354 # # PGP secret key (can also be ASCII-armored). The passphrase is taken 355 # # from the environment variable $NFPM_ID_DEB_PASSPHRASE with a fallback 356 # # to $NFPM_ID_PASSPHRASE, where ID is the id of the current nfpm config. 357 # # The id will be transformed to uppercase. 358 # # E.g. If your nfpm id is 'default' then the deb-specific passphrase 359 # # should be set as $NFPM_DEFAULT_DEB_PASSPHRASE 360 # key_file: key.gpg 361 # # The type describes the signers role, possible values are "origin", 362 # # "maint" and "archive". If unset, the type defaults to "origin". 363 # type: origin 364 365 # apk: 366 # # The package is signed if a key_file is set 367 # signature: 368 # # RSA private key in the PEM format. The passphrase is taken 369 # # from the environment variable $NFPM_ID_APK_PASSPHRASE with a fallback 370 # # to $NFPM_ID_PASSPHRASE, where ID is the id of the current nfpm config. 371 # # The id will be transformed to uppercase. 372 # # E.g. If your nfpm id is 'default' then the deb-specific passphrase 373 # # should be set as $NFPM_DEFAULT_APK_PASSPHRASE 374 # key_file: key.gpg 375 # # The name of the signing key. When verifying a package, the signature 376 # # is matched to the public key store in /etc/apk/keys/<key_name>.rsa.pub. 377 # # If unset, it defaults to the maintainer email address. 378 # key_name: origin 379 380 # # .goreleaser.yml 381 # dockers: 382 # # You can have multiple Docker images. 383 # - 384 # # GOOS of the built binaries/packages that should be used. 385 # goos: linux 386 387 # # GOARCH of the built binaries/packages that should be used. 388 # goarch: amd64 389 390 # # GOARM of the built binaries/packages that should be used. 391 # goarm: '' 392 393 # # IDs to filter the binaries/packages. 394 # ids: 395 # - mybuild 396 # - mynfpm 397 398 # # Templates of the Docker image names. 399 # image_templates: 400 # - "myuser/myimage:latest" 401 # - "myuser/myimage:{{ .Tag }}" 402 # - "myuser/myimage:{{ .Tag }}-{{ .Env.GO_VERSION }}" 403 # - "myuser/myimage:v{{ .Major }}" 404 # - "gcr.io/myuser/myimage:latest" 405 406 # # Skips the docker push. Could be useful if you also do draft releases. 407 # # If set to auto, the release will not be pushed to the docker repository 408 # # in case there is an indicator for prerelease in the tag e.g. v1.0.0-rc1 409 # # Defaults to false. 410 # skip_push: false 411 412 # # Path to the Dockerfile (from the project root). 413 # dockerfile: Dockerfile 414 415 # # Whether to use `docker buildx build` instead of `docker build`. 416 # # You probably want to set it to true when using flags like `--platform`. 417 # # If true, will also add `--load` to the build flags. 418 # # Defaults to false. 419 # use_buildx: true 420 421 # # Template of the docker build flags. 422 # build_flag_templates: 423 # - "--pull" 424 # - "--label=org.opencontainers.image.created={{.Date}}" 425 # - "--label=org.opencontainers.image.title={{.ProjectName}}" 426 # - "--label=org.opencontainers.image.revision={{.FullCommit}}" 427 # - "--label=org.opencontainers.image.version={{.Version}}" 428 # - "--build-arg=FOO={{.Env.Bar}}" 429 # - "--platform=linux/arm64" 430 431 # # If your Dockerfile copies files other than binaries and packages, 432 # # you should list them here as well. 433 # # Note that GoReleaser will create the same structure inside a temporary 434 # # folder, so if you add `foo/bar.json` here, on your Dockerfile you can 435 # # `COPY foo/bar.json /whatever.json`. 436 # # Also note that the paths here are relative to the folder in which 437 # # GoReleaser is being run (usually the repository root folder). 438 # # This field does not support wildcards, you can add an entire folder here 439 # # and use wildcards when you `COPY`/`ADD` in your Dockerfile. 440 # extra_files: 441 # - config.yml