github.com/goreleaser/goreleaser@v1.25.1/www/docs/customization/scoop.md (about) 1 # Scoop Manifests 2 3 After releasing to GitHub, GitLab, or Gitea, GoReleaser can generate and publish a 4 _Scoop App Manifest_ into a repository that you have access to. 5 6 The `scoop` section specifies how the manifest should be created. See the 7 commented example below: 8 9 ```yaml 10 # .goreleaser.yaml 11 # Since: v1.18 12 scoops: 13 - # Name of the recipe 14 # 15 # Default: ProjectName 16 # Templates: allowed (since v1.19) 17 name: myproject 18 19 # URL which is determined by the given Token (github or gitlab) 20 # 21 # Default: 22 # GitHub: 'https://github.com/<repo_owner>/<repo_name>/releases/download/{{ .Tag }}/{{ .ArtifactName }}' 23 # GitLab: 'https://gitlab.com/<repo_owner>/<repo_name>/-/releases/{{ .Tag }}/downloads/{{ .ArtifactName }}' 24 # Gitea: 'https://gitea.com/<repo_owner>/<repo_name>/releases/download/{{ .Tag }}/{{ .ArtifactName }}' 25 # Templates: allowed 26 url_template: "http://github.mycompany.com/foo/bar/releases/{{ .Tag }}/{{ .ArtifactName }}" 27 28 # Directory inside the repository to put the scoop. 29 # 30 # Note that while scoop works if the manifests are in a directory, 31 # 'scoop bucket list' will show 0 manifests if they are not in the root 32 # directory. 33 # In short, it's generally better to leave this empty. 34 directory: Scoops 35 36 # Which format to use. 37 # 38 # Valid options are: 39 # - 'msi': msi installers (requires the MSI pipe configured, Pro only) 40 # - 'archive': archives (only if format is zip), 41 # 42 # Default: 'archive' 43 # Since: v1.24 (pro) 44 use: msi 45 46 # Git author used to commit to the repository. 47 commit_author: 48 name: goreleaserbot 49 email: bot@goreleaser.com 50 51 # The project name and current git tag are used in the format string. 52 # 53 # Templates: allowed 54 commit_msg_template: "Scoop update for {{ .ProjectName }} version {{ .Tag }}" 55 56 # Your app's homepage. 57 # 58 # Templates: allowed (since v1.19) 59 homepage: "https://example.com/" 60 61 # Your app's description. 62 # 63 # Templates: allowed (since v1.19) 64 description: "Software to create fast and easy drum rolls." 65 66 # Your app's license 67 license: MIT 68 69 # Setting this will prevent goreleaser to actually try to commit the updated 70 # manifest leaving the responsibility of publishing it to the user. 71 # If set to auto, the release will not be uploaded to the scoop bucket 72 # in case there is an indicator for prerelease in the tag e.g. v1.0.0-rc1 73 # 74 # Templates: allowed (since v1.19) 75 skip_upload: true 76 77 # Persist data between application updates 78 persist: 79 - "data" 80 - "config.toml" 81 82 # An array of commands to be executed before an application is installed. 83 pre_install: ["Write-Host 'Running preinstall command'"] 84 85 # An array of commands to be executed after an application is installed. 86 post_install: ["Write-Host 'Running postinstall command'"] 87 88 # An array of dependencies. 89 # 90 # Since: v1.16 91 depends: ["git", "foo"] 92 93 # A two-dimensional array of string, specifies the shortcut values to make available in the startmenu. 94 # The array has to contain an executable/label pair. The third and fourth element are optional. 95 # 96 # Since: v1.17 97 shortcuts: [["drumroll.exe", "drumroll"]] 98 99 # GOAMD64 to specify which amd64 version to use if there are multiple versions 100 # from the build section. 101 # 102 # Default: 'v1' 103 goamd64: v3 104 105 {% include-markdown "../includes/repository.md" comments=false %} 106 ``` 107 108 !!! tip 109 110 Learn more about the [name template engine](/customization/templates/). 111 112 By defining the `scoop` section, GoReleaser will take care of publishing the 113 Scoop app. Assuming that the project name is `drumroll`, and the current tag is 114 `v1.2.3`, the above configuration will generate a `drumroll.json` manifest in 115 the root of the repository specified in the `bucket` section. 116 117 ```json 118 { 119 "version": "1.2.3", 120 "architecture": { 121 "64bit": { 122 "url": "https://github.com/user/drumroll/releases/download/1.2.3/drumroll_1.2.3_windows_amd64.tar.gz", 123 "bin": "drumroll.exe", 124 "hash": "86920b1f04173ee08773136df31305c0dae2c9927248ac259e02aafd92b6008a" 125 }, 126 "32bit": { 127 "url": "https://github.com/user/drumroll/releases/download/1.2.3/drumroll_1.2.3_windows_386.tar.gz", 128 "bin": "drumroll.exe", 129 "hash": "283faa524ef41987e51c8786c61bb56658a489f63512b32139d222b3ee1d18e6" 130 } 131 }, 132 "homepage": "https://example.com/" 133 } 134 ``` 135 136 Your users can then install your app by doing: 137 138 ```sh 139 scoop bucket add org https://github.com/org/repo.git 140 scoop install org/drumroll 141 ``` 142 143 You can check the 144 [Scoop documentation](https://github.com/lukesampson/scoop/wiki) for more 145 details. 146 147 {% include-markdown "../includes/prs.md" comments=false %}