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