1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-04-23 12:18:50 +02:00

docs: include markdown plugin (#4098)

I was really tired of copying and pasting that over and over again and
keeping it all in sync...

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
This commit is contained in:
Carlos Alexandro Becker 2023-06-13 23:25:18 -03:00 committed by GitHub
parent f33968f187
commit 56dfb8b5b0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 345 additions and 558 deletions

View File

@ -1,6 +1,6 @@
# https://taskfile.dev
version: '3'
version: "3"
env:
GO111MODULE: on
@ -117,13 +117,14 @@ tasks:
desc: Start documentation server
cmds:
- task: docs:generate
- '{{.DOCKER}} run --rm -p 8000:8000 -v ${PWD}/www:/docs docker.io/squidfunk/mkdocs-material'
- "{{.DOCKER}} build -t mkdocs -f www/docker/Dockerfile www/docker"
- "{{.DOCKER}} run --rm -p 8000:8000 -v ${PWD}/www:/docs mkdocs"
docs:build:
desc: Build docs
cmds:
- task: docs:generate
- '{{.DOCKER}} run --rm -v ${PWD}/www:/docs docker.io/squidfunk/mkdocs-material build'
- "{{.DOCKER}} run --rm -v ${PWD}/www:/docs docker.io/squidfunk/mkdocs-material build"
release:
desc: Create a new tag
@ -143,70 +144,70 @@ tasks:
goreleaser:test:rpm:
desc: Tests rpm packages
vars:
rpm: 'rpm --nodeps -ivh'
rpm: "rpm --nodeps -ivh"
cmds:
- task: goreleaser:test:pkg
vars:
Platform: '386'
Platform: "386"
Image: centos:centos7
Cmd: '{{.rpm}} goreleaser-*.i386.rpm'
Cmd: "{{.rpm}} goreleaser-*.i386.rpm"
- task: goreleaser:test:pkg
vars:
Platform: 'amd64'
Platform: "amd64"
Image: fedora
Cmd: '{{.rpm}} goreleaser-*.x86_64.rpm'
Cmd: "{{.rpm}} goreleaser-*.x86_64.rpm"
- task: goreleaser:test:pkg
vars:
Platform: 'arm64'
Platform: "arm64"
Image: fedora
Cmd: '{{.rpm}} goreleaser-*.aarch64.rpm'
Cmd: "{{.rpm}} goreleaser-*.aarch64.rpm"
goreleaser:test:deb:
desc: Tests deb packages
vars:
dpkg: 'dpkg --ignore-depends=git -i'
dpkg: "dpkg --ignore-depends=git -i"
cmds:
- task: goreleaser:test:pkg
vars:
Platform: 'amd64'
Platform: "amd64"
Image: ubuntu
Cmd: '{{.dpkg}} goreleaser*_amd64.deb'
Cmd: "{{.dpkg}} goreleaser*_amd64.deb"
- task: goreleaser:test:pkg
vars:
Platform: 'arm64'
Platform: "arm64"
Image: ubuntu
Cmd: '{{.dpkg}} goreleaser*_arm64.deb'
Cmd: "{{.dpkg}} goreleaser*_arm64.deb"
- task: goreleaser:test:pkg
vars:
Platform: 'arm/7'
Platform: "arm/7"
Image: ubuntu
Cmd: '{{.dpkg}} goreleaser*_armhf.deb'
Cmd: "{{.dpkg}} goreleaser*_armhf.deb"
goreleaser:test:apk:
desc: Tests apk packages
vars:
apk: 'apk add --allow-untrusted -U'
apk: "apk add --allow-untrusted -U"
cmds:
- task: goreleaser:test:pkg
vars:
Platform: '386'
Platform: "386"
Image: alpine
Cmd: '{{.apk}} goreleaser*_x86.apk'
Cmd: "{{.apk}} goreleaser*_x86.apk"
- task: goreleaser:test:pkg
vars:
Platform: 'amd64'
Platform: "amd64"
Image: alpine
Cmd: '{{.apk}} goreleaser*_x86_64.apk'
Cmd: "{{.apk}} goreleaser*_x86_64.apk"
- task: goreleaser:test:pkg
vars:
Platform: 'arm64'
Platform: "arm64"
Image: alpine
Cmd: '{{.apk}} goreleaser*_aarch64.apk'
Cmd: "{{.apk}} goreleaser*_aarch64.apk"
- task: goreleaser:test:pkg
vars:
Platform: 'arm/7'
Platform: "arm/7"
Image: alpine
Cmd: '{{.apk}} goreleaser*_armv7.apk'
Cmd: "{{.apk}} goreleaser*_armv7.apk"
goreleaser:test:
desc: Test built linux packages

View File

@ -3,7 +3,7 @@ set -euo pipefail
# install
pip install --upgrade pip
pip install -U mkdocs-material mkdocs-redirects mkdocs-minify-plugin lunr
pip install -U mkdocs-material mkdocs-redirects mkdocs-minify-plugin mkdocs-include-markdown-plugin lunr
# prepare
version="$(cat ./www/docs/static/latest)"

2
www/docker/Dockerfile Normal file
View File

@ -0,0 +1,2 @@
FROM squidfunk/mkdocs-material
RUN pip install mkdocs-include-markdown-plugin

View File

@ -44,85 +44,6 @@ brews:
# We will probably unify this in the next major version like it is
# done with scoop.
# GitHub/GitLab repository to push the formula to
tap:
# Repository owner.
#
# Templates: allowed
owner: user
# Repository name.
#
# Templates: allowed
name: homebrew-tap
# Optionally a branch can be provided.
#
# Default: default repository branch.
# Templates: allowed
branch: main
# Optionally a token can be provided, if it differs from the token
# provided to GoReleaser
#
# Templates: allowed
token: "{{ .Env.HOMEBREW_TAP_GITHUB_TOKEN }}"
# Sets up pull request creation instead of just pushing to the given branch.
# Make sure the 'branch' property is different from base before enabling
# it.
#
# Since: v1.17
pull_request:
# Whether to enable it or not.
enabled: true
# Whether to open the PR as a draft or not.
#
# Default: false
# Since: v1.19
draft: true
# Base can also be another repository, in which case the owner and name
# above will be used as HEAD, allowing cross-repository pull requests.
#
# Since: v1.19
base:
owner: org
name: nur
branch: main
# Clone, create the file, commit and push, to a regular Git repository.
#
# Notice that this will only have any effect if the given URL is not
# empty.
#
# Since: v1.18
git:
# The Git URL to push.
#
# Templates: allowed
url: 'ssh://git@myserver.com:repo.git'
# The SSH private key that should be used to commit to the Git
# repository.
# This can either be a path or the key contents.
#
# IMPORTANT: the key must not be password-protected.
#
# WARNING: do not expose your private key in the configuration file!
#
# Templates: allowed
private_key: '{{ .Env.PRIVATE_KEY_PATH }}'
# The value to be passed to `GIT_SSH_COMMAND`.
# This is mainly used to specify the SSH private key used to pull/push
# to the Git URL.
#
# Default: 'ssh -i {{ .KeyPath }} -o StrictHostKeyChecking=accept-new -F /dev/null'
# Templates: allowed
ssh_command: 'ssh -i {{ .Env.KEY }} -o SomeOption=yes'
# URL which is determined by the given Token (github, gitlab or gitea).
#
# Default depends on the client.
@ -227,10 +148,15 @@ brews:
# Could be used to do any additional work after the "install" script
post_install: |
etc.install "app-config.conf"
...
# ...
# GitHub/GitLab repository to push the formula to
tap:
{% include-markdown "../includes/repository.md" comments=false %}
```
!!! tip
Learn more about the [name template engine](/customization/templates/).
By defining the `brew` section, GoReleaser will take care of publishing the
@ -278,6 +204,7 @@ end
```
!!! info
Note that GoReleaser does not generate a valid homebrew-core formula.
The generated formulas are meant to be published as
[homebrew taps](https://docs.brew.sh/Taps.html), and in their current

View File

@ -39,85 +39,6 @@ krews:
# gitlab) owner and name are from the same kind. We will probably unify this
# in the next major version like it is done with scoop.
# GitHub/GitLab repository to push the Krew plugin to
# Gitea is not supported yet, but the support coming
index:
# Repository owner.
#
# Templates: allowed
owner: user
# Repository name.
#
# Templates: allowed
name: krew-plugins
# Optionally a branch can be provided.
#
# Default: default repository branch
# Templates: allowed
branch: main
# Optionally a token can be provided, if it differs from the token
# provided to GoReleaser
# Templates: allowed
token: "{{ .Env.HOMEBREW_TAP_GITHUB_TOKEN }}"
# Sets up pull request creation instead of just pushing to the given branch.
# Make sure the 'branch' property is different from base before enabling
# it.
#
# Since: v1.17
pull_request:
# Whether to enable it or not.
enabled: true
# Whether to open the PR as a draft or not.
#
# Default: false
# Since: v1.19
draft: true
# Base can also be another repository, in which case the owner and name
# above will be used as HEAD, allowing cross-repository pull requests.
#
# Since: v1.19
base:
owner: org
name: nur
branch: main
# Clone, create the file, commit and push, to a regular Git repository.
#
# Notice that this will only have any effect if the given URL is not
# empty.
#
# Since: v1.18
git:
# The Git URL to push.
#
# Templates: allowed
url: 'ssh://git@myserver.com:repo.git'
# The SSH private key that should be used to commit to the Git
# repository.
# This can either be a path or the key contents.
#
# IMPORTANT: the key must not be password-protected.
#
# WARNING: do not expose your private key in the configuration file!
#
# Templates: allowed
private_key: '{{ .Env.PRIVATE_KEY_PATH }}'
# The value to be passed to `GIT_SSH_COMMAND`.
# This is mainly used to specify the SSH private key used to pull/push
# to the Git URL.
#
# Default: 'ssh -i {{ .KeyPath }} -o StrictHostKeyChecking=accept-new -F /dev/null'
# Templates: allowed
ssh_command: 'ssh -i {{ .Env.KEY }} -o SomeOption=yes'
# URL which is determined by the given Token (github or
# gitlab)
# Default:
@ -160,9 +81,14 @@ krews:
# If set to auto, the release will not be uploaded to the Krew plugin
# in case there is an indicator for prerelease in the tag e.g. v1.0.0-rc1
skip_upload: true
# GitHub/GitLab repository to push the Krew plugin to.
index:
{% include-markdown "../includes/repository.md" comments=false %}
```
!!! tip
Learn more about the [name template engine](/customization/templates/).
## Limitations

View File

@ -10,7 +10,7 @@ The `nix` section specifies how the pkgs should be created:
```yaml
# .goreleaser.yaml
nix:
-
- #
# Name of the recipe
#
# Default: ProjectName
@ -29,81 +29,6 @@ nix:
# Default: v1
goamd64: v1
# GitHub/GitLab repository to push the pkg to.
repository:
# Repository owner.
#
# Templates: allowed
owner: user
# Repository name.
#
# Templates: allowed
name: nur
# Optionally a branch can be provided.
#
# Default: default repository branch.
# Templates: allowed
branch: foo
# Optionally a token can be provided, if it differs from the token
# provided to GoReleaser
#
# Templates: allowed
token: "{{ .Env.NUR_GITHUB_TOKEN }}"
# Sets up pull request creation instead of just pushing to the given branch.
# Make sure the 'branch' property is different from base before enabling
# it.
pull_request:
# Whether to enable it or not.
enabled: true
# Whether to open the PR as a draft or not.
#
# Default: false
# Since: v1.19
draft: true
# Base can also be another repository, in which case the owner and name
# above will be used as HEAD, allowing cross-repository pull requests.
#
# Since: v1.19
base:
owner: org
name: nur
branch: main
# Clone, create the file, commit and push, to a regular Git repository.
#
# Notice that this will only have any effect if the given URL is not
# empty.
git:
# The Git URL to push.
#
# Templates: allowed
url: 'ssh://git@myserver.com:repo.git'
# The SSH private key that should be used to commit to the Git
# repository.
# This can either be a path or the key contents.
#
# IMPORTANT: the key must not be password-protected.
#
# WARNING: do not expose your private key in the configuration file!
#
# Templates: allowed
private_key: '{{ .Env.PRIVATE_KEY_PATH }}'
# The value to be passed to `GIT_SSH_COMMAND`.
# This is mainly used to specify the SSH private key used to pull/push
# to the Git URL.
#
# Default: 'ssh -i {{ .KeyPath }} -o StrictHostKeyChecking=accept-new -F /dev/null'
# Templates: allowed
ssh_command: 'ssh -i {{ .Env.KEY }} -o SomeOption=yes'
# URL which is determined by the given Token (github, gitlab or gitea).
#
# Default depends on the client.
@ -161,9 +86,14 @@ nix:
# Templates: allowed
post_install: |
installShellCompletion ./completions/*
# GitHub/GitLab repository to push the pkg to.
repository:
{% include-markdown "../includes/repository.md" comments=false %}
```
!!! tip
Learn more about the [name template engine](/customization/templates/).
## Things not yet implemented

View File

@ -10,8 +10,7 @@ commented example below:
# .goreleaser.yaml
# Since: v1.18
scoops:
-
# Name of the recipe
- # Name of the recipe
#
# Default: ProjectName
# Templates: allowed (since v1.19)
@ -26,85 +25,6 @@ scoops:
# Templates: allowed
url_template: "http://github.mycompany.com/foo/bar/releases/{{ .Tag }}/{{ .ArtifactName }}"
# Repository to push the app manifest to.
bucket:
# Repository owner.
#
# Templates: allowed
owner: user
# Repository name.
#
# Templates: allowed
name: scoop-bucket
# Optionally a branch can be provided.
#
# Default: the repository default branch
# Templates: allowed
branch: main
# Optionally a token can be provided, if it differs from the token provided
# to GoReleaser
#
# Templates: allowed
token: "{{ .Env.SCOOP_TAP_GITHUB_TOKEN }}"
# Sets up pull request creation instead of just pushing to the given branch.
# Make sure the 'branch' property is different from base before enabling
# it.
#
# Since: v1.17
pull_request:
# Whether to enable it or not.
enabled: true
# Whether to open the PR as a draft or not.
#
# Default: false
# Since: v1.19
draft: true
# Base can also be another repository, in which case the owner and name
# above will be used as HEAD, allowing cross-repository pull requests.
#
# Since: v1.19
base:
owner: org
name: nur
branch: main
# Clone, create the file, commit and push, to a regular Git repository.
#
# Notice that this will only have any effect if the given URL is not
# empty.
#
# Since: v1.18
git:
# The Git URL to push.
#
# Templates: allowed
url: 'ssh://git@myserver.com:repo.git'
# The SSH private key that should be used to commit to the Git
# repository.
# This can either be a path or the key contents.
#
# IMPORTANT: the key must not be password-protected.
#
# WARNING: do not expose your private key in the configuration file!
#
# Templates: allowed
private_key: '{{ .Env.PRIVATE_KEY_PATH }}'
# The value to be passed to `GIT_SSH_COMMAND`.
# This is mainly used to specify the SSH private key used to pull/push
# to the Git URL.
#
# Default: 'ssh -i {{ .KeyPath }} -o StrictHostKeyChecking=accept-new -F /dev/null'
# Templates: allowed
ssh_command: 'ssh -i {{ .Env.KEY }} -o SomeOption=yes'
# Folder inside the repository to put the scoop.
#
# Note that while scoop works if the manifests are in a folder,
@ -160,7 +80,6 @@ scoops:
# Since GoReleaser v1.16
depends: ["git", "foo"]
# A two-dimensional array of string, specifies the shortcut values to make available in the startmenu.
# The array has to contain an executable/label pair. The third and fourth element are optional.
#
@ -172,8 +91,16 @@ scoops:
#
# Default: 'v1'
goamd64: v3
# Repository to push the app manifest to.
bucket:
{% include-markdown "../includes/repository.md" comments=false %}
```
!!! tip
Learn more about the [name template engine](/customization/templates/).
By defining the `scoop` section, GoReleaser will take care of publishing the
Scoop app. Assuming that the project name is `drumroll`, and the current tag is
`v1.2.3`, the above configuration will generate a `drumroll.json` manifest in
@ -184,14 +111,12 @@ the root of the repository specified in the `bucket` section.
"version": "1.2.3",
"architecture": {
"64bit": {
"url":
"https://github.com/user/drumroll/releases/download/1.2.3/drumroll_1.2.3_windows_amd64.tar.gz",
"url": "https://github.com/user/drumroll/releases/download/1.2.3/drumroll_1.2.3_windows_amd64.tar.gz",
"bin": "drumroll.exe",
"hash": "86920b1f04173ee08773136df31305c0dae2c9927248ac259e02aafd92b6008a"
},
"32bit": {
"url":
"https://github.com/user/drumroll/releases/download/1.2.3/drumroll_1.2.3_windows_386.tar.gz",
"url": "https://github.com/user/drumroll/releases/download/1.2.3/drumroll_1.2.3_windows_386.tar.gz",
"bin": "drumroll.exe",
"hash": "283faa524ef41987e51c8786c61bb56658a489f63512b32139d222b3ee1d18e6"
}

View File

@ -0,0 +1,75 @@
# Repository owner.
#
# Templates: allowed
owner: caarlos0
# Repository name.
#
# Templates: allowed
name: my-repo
# Optionally a branch can be provided.
#
# Default: default repository branch
# Templates: allowed
branch: main
# Optionally a token can be provided, if it differs from the token
# provided to GoReleaser
# Templates: allowed
token: "{{ .Env.GITHUB_PERSONAL_AUTH_TOKEN }}"
# Sets up pull request creation instead of just pushing to the given branch.
# Make sure the 'branch' property is different from base before enabling
# it.
#
# Since: v1.17
pull_request:
# Whether to enable it or not.
enabled: true
# Whether to open the PR as a draft or not.
#
# Default: false
# Since: v1.19
draft: true
# Base can also be another repository, in which case the owner and name
# above will be used as HEAD, allowing cross-repository pull requests.
#
# Since: v1.19
base:
owner: goreleaser
name: my-repo
branch: main
# Clone, create the file, commit and push, to a regular Git repository.
#
# Notice that this will only have any effect if the given URL is not
# empty.
#
# Since: v1.18
git:
# The Git URL to push.
#
# Templates: allowed
url: 'ssh://git@myserver.com:repo.git'
# The SSH private key that should be used to commit to the Git
# repository.
# This can either be a path or the key contents.
#
# IMPORTANT: the key must not be password-protected.
#
# WARNING: do not expose your private key in the configuration file!
#
# Templates: allowed
private_key: '{{ .Env.PRIVATE_KEY_PATH }}'
# The value to be passed to `GIT_SSH_COMMAND`.
# This is mainly used to specify the SSH private key used to pull/push
# to the Git URL.
#
# Default: 'ssh -i {{ .KeyPath }} -o StrictHostKeyChecking=accept-new -F /dev/null'
# Templates: allowed
ssh_command: 'ssh -i {{ .Env.KEY }} -o SomeOption=yes'

View File

@ -50,9 +50,10 @@ plugins:
l.md: https://www.linkedin.com/company/goreleaser/
m.md: https://fosstodon.org/@goreleaser
t.md: https://twitter.com/goreleaser
'customization/build.md': customization/builds.md
"customization/build.md": customization/builds.md
- minify:
minify_html: true
- include-markdown
extra:
social: