Signatures options¤
Example action/workflow
compsite action action.yaml
name: 'Example action'
description: 'An example `action.yaml` file for the purpose of documentation'
author: 'watermarkhu'
branding:
icon: 'package'
color: 'blue'
inputs:
input-string:
description: 'A string input parameter'
required: true
input-number:
description: 'A numeric input parameter'
required: false
default: '42'
input-boolean:
description: 'A boolean input parameter'
required: false
default: 'false'
outputs:
output-string:
description: 'A string output from the action'
value: 'result-value'
output-number:
description: 'A numeric output from the action'
value: '123'
runs:
using: 'composite'
steps:
- name: Execute action logic
run: |
echo "input-string=${{ inputs.input-string }}" >> $GITHUB_OUTPUT
echo "output-number=123" >> $GITHUB_OUTPUT
echo "output-json={\"key\": \"value\", \"number\": 456}" >> $GITHUB_OUTPUT
shell: bash
reusable workflow .github/workflows/example_workflow.yml
name: 'Example workflow'
description: "This key is illegal but will still be parsed"
on:
workflow_call:
inputs:
environment:
description: 'Environment to deploy to'
required: true
type: string
version:
description: 'Version to deploy'
required: false
type: string
default: 'latest'
enable-notifications:
description: 'Whether to send notifications. Requires [`SLACK_WEBHOOK`](#secrets.SLACK_WEBHOOK) to be set.'
required: false
type: boolean
default: false
parallel-jobs:
description: 'Number of parallel jobs'
required: false
type: number
default: 1
configuration:
description: 'JSON configuration object'
required: false
type: string
default: '{}'
secrets:
API_KEY:
description: 'API key for external service'
required: true
DATABASE_URL:
description: 'Database connection string'
required: false
SLACK_WEBHOOK:
description: 'Slack webhook URL for notifications'
required: false
outputs:
deployment-id:
description: 'ID of the created deployment'
value: ${{ jobs.deploy.outputs.deployment-id }}
deployment-url:
description: 'URL of the deployment'
value: ${{ jobs.deploy.outputs.deployment-url }}
success:
description: 'Whether the deployment was successful'
value: ${{ jobs.deploy.outputs.success }}
permissions:
contents: read
deployments: write
pull-requests: write
issues: read
env:
DEPLOYMENT_ENVIRONMENT: ${{ inputs.environment }}
ENABLE_DEBUG: false
jobs:
validate:
name: 'Validate Inputs'
runs-on: ubuntu-latest
steps:
- name: Validate environment
run: |
echo "Validating environment: ${{ inputs.environment }}"
if [[ ! "${{ inputs.environment }}" =~ ^(development|staging|production)$ ]]; then
echo "Error: Invalid environment specified"
exit 1
fi
- name: Validate version
run: |
echo "Validating version: ${{ inputs.version }}"
- name: Check secrets
run: |
if [[ -z "${{ secrets.API_KEY }}" ]]; then
echo "Error: API_KEY secret is required"
exit 1
fi
echo "All required secrets are available"
deploy:
name: 'Deploy Application'
runs-on: ubuntu-latest
needs: validate
outputs:
deployment-id: ${{ steps.deploy.outputs.deployment-id }}
deployment-url: ${{ steps.deploy.outputs.deployment-url }}
success: ${{ steps.deploy.outputs.success }}
steps:
- name: Setup deployment
run: |
echo "Setting up deployment for ${{ inputs.environment }}"
echo "Version: ${{ inputs.version }}"
echo "Parallel jobs: ${{ inputs.parallel-jobs }}"
echo "Notifications enabled: ${{ inputs.enable-notifications }}"
- name: Parse configuration
run: |
echo "Configuration: ${{ inputs.configuration }}"
- name: Execute deployment
id: deploy
run: |
deployment_id="reusable-deploy-$(date +%s)"
deployment_url="https://${{ inputs.environment }}.example.com"
echo "deployment-id=${deployment_id}" >> $GITHUB_OUTPUT
echo "deployment-url=${deployment_url}" >> $GITHUB_OUTPUT
echo "success=true" >> $GITHUB_OUTPUT
echo "Deployment completed successfully"
echo "ID: ${deployment_id}"
echo "URL: ${deployment_url}"
notify:
name: 'Send Notifications'
runs-on: ubuntu-latest
needs: deploy
if: ${{ inputs.enable-notifications }}
steps:
- name: Send Slack notification
run: |
echo "Sending Slack notification about deployment ${{ needs.deploy.outputs.deployment-id }}"
- name: Create GitHub deployment
run: |
echo "Creating GitHub deployment status for ${{ needs.deploy.outputs.deployment-id }}"
show_signature
¤
Whether to show the signature in the documentation.
Preview
Example workflow ¤
uses: watermarkhu/mkdocstrings-github/.github/workflows/example_workflow.yml@v1
permissions:
contents: read
deployments: write
pull-requests: write
issues: read
with:
environment: ''
This key is illegal but will still be parsed
Inputs: ¤
Name | Description | Default |
---|---|---|
environment
|
Environment to deploy to |
|
version
|
Version to deploy |
latest
|
enable-notifications
|
Whether to send notifications. Requires |
|
parallel-jobs
|
Number of parallel jobs |
1
|
configuration
|
JSON configuration object |
{}
|
Secrets: ¤
Name | Description |
---|---|
API_KEY
|
API key for external service |
DATABASE_URL
|
Database connection string |
SLACK_WEBHOOK
|
Slack webhook URL for notifications |
Source of watermarkhu/mkdocstrings-github/.github/workflows/example_workflow.yml@v1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 |
|
Example workflow ¤
This key is illegal but will still be parsed
Inputs: ¤
Name | Description | Default |
---|---|---|
environment
|
Environment to deploy to |
|
version
|
Version to deploy |
latest
|
enable-notifications
|
Whether to send notifications. Requires |
|
parallel-jobs
|
Number of parallel jobs |
1
|
configuration
|
JSON configuration object |
{}
|
Secrets: ¤
Name | Description |
---|---|
API_KEY
|
API key for external service |
DATABASE_URL
|
Database connection string |
SLACK_WEBHOOK
|
Slack webhook URL for notifications |
Source of watermarkhu/mkdocstrings-github/.github/workflows/example_workflow.yml@v1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 |
|
signature_show_secrets
¤
Whether to show secrets in the signature.
Preview
Example workflow ¤
uses: watermarkhu/mkdocstrings-github/.github/workflows/example_workflow.yml@v1
permissions:
contents: read
deployments: write
pull-requests: write
issues: read
with:
environment: ''
This key is illegal but will still be parsed
Inputs: ¤
Name | Description | Default |
---|---|---|
environment
|
Environment to deploy to |
|
version
|
Version to deploy |
latest
|
enable-notifications
|
Whether to send notifications. Requires |
|
parallel-jobs
|
Number of parallel jobs |
1
|
configuration
|
JSON configuration object |
{}
|
Secrets: ¤
Name | Description |
---|---|
API_KEY
|
API key for external service |
DATABASE_URL
|
Database connection string |
SLACK_WEBHOOK
|
Slack webhook URL for notifications |
Source of watermarkhu/mkdocstrings-github/.github/workflows/example_workflow.yml@v1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 |
|
Example workflow ¤
uses: watermarkhu/mkdocstrings-github/.github/workflows/example_workflow.yml@v1
permissions:
contents: read
deployments: write
pull-requests: write
issues: read
with:
environment: ''
secrets:
API_KEY: ''
This key is illegal but will still be parsed
Inputs: ¤
Name | Description | Default |
---|---|---|
environment
|
Environment to deploy to |
|
version
|
Version to deploy |
latest
|
enable-notifications
|
Whether to send notifications. Requires |
|
parallel-jobs
|
Number of parallel jobs |
1
|
configuration
|
JSON configuration object |
{}
|
Secrets: ¤
Name | Description |
---|---|
API_KEY
|
API key for external service |
DATABASE_URL
|
Database connection string |
SLACK_WEBHOOK
|
Slack webhook URL for notifications |
Source of watermarkhu/mkdocstrings-github/.github/workflows/example_workflow.yml@v1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 |
|
signature_show_permissions
¤
Whether to show permissions in the workflow signature.
Preview
Example workflow ¤
uses: watermarkhu/mkdocstrings-github/.github/workflows/example_workflow.yml@v1
permissions:
contents: read
deployments: write
pull-requests: write
issues: read
with:
environment: ''
This key is illegal but will still be parsed
Inputs: ¤
Name | Description | Default |
---|---|---|
environment
|
Environment to deploy to |
|
version
|
Version to deploy |
latest
|
enable-notifications
|
Whether to send notifications. Requires |
|
parallel-jobs
|
Number of parallel jobs |
1
|
configuration
|
JSON configuration object |
{}
|
Secrets: ¤
Name | Description |
---|---|
API_KEY
|
API key for external service |
DATABASE_URL
|
Database connection string |
SLACK_WEBHOOK
|
Slack webhook URL for notifications |
Source of watermarkhu/mkdocstrings-github/.github/workflows/example_workflow.yml@v1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 |
|
Example workflow ¤
uses: watermarkhu/mkdocstrings-github/.github/workflows/example_workflow.yml@v1
with:
environment: ''
This key is illegal but will still be parsed
Inputs: ¤
Name | Description | Default |
---|---|---|
environment
|
Environment to deploy to |
|
version
|
Version to deploy |
latest
|
enable-notifications
|
Whether to send notifications. Requires |
|
parallel-jobs
|
Number of parallel jobs |
1
|
configuration
|
JSON configuration object |
{}
|
Secrets: ¤
Name | Description |
---|---|
API_KEY
|
API key for external service |
DATABASE_URL
|
Database connection string |
SLACK_WEBHOOK
|
Slack webhook URL for notifications |
Source of watermarkhu/mkdocstrings-github/.github/workflows/example_workflow.yml@v1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 |
|
signature_version
¤
The versioning scheme to use for the signature.
ref
: use the git ref (branch or tag) from which the workflow or action is run,major
: use the latest release tag matchingvX
(e.g.v1
,v2
),semver
: use the latest release tag matchingvX.X.X
(e.g.v1.0.0
,v2.1.3
),string
: use the string provided in thesignature_version_string
option.
Info
To automatically grab the latest major
or semver
release, mkdocstrings-github needs to access GitHub to get the releases. Authentication is set by either the environment variable GH_TOKEN
, or via .netrc
. If both aren't available, a final attempt is made via the GitHub CLI with gh auth token
.
When building your documentation in GitHub Actions, make sure that the build step has the environment variable GH_TOKEN
set.
...
- name: build step
env:
GH_TOKEN: ${{ github.token }}
run: |
mkdocs build
Info
For GitHub Enterprise instances, you can set either the hostname
configuration option or the GH_HOST
environment variable to your GitHub hostname.
Preview
Example workflow ¤
uses: watermarkhu/mkdocstrings-github/.github/workflows/example_workflow.yml@my_current_branch
permissions:
contents: read
deployments: write
pull-requests: write
issues: read
with:
environment: ''
This key is illegal but will still be parsed
Inputs: ¤
Name | Description | Default |
---|---|---|
environment
|
Environment to deploy to |
|
version
|
Version to deploy |
latest
|
enable-notifications
|
Whether to send notifications. Requires |
|
parallel-jobs
|
Number of parallel jobs |
1
|
configuration
|
JSON configuration object |
{}
|
Secrets: ¤
Name | Description |
---|---|
API_KEY
|
API key for external service |
DATABASE_URL
|
Database connection string |
SLACK_WEBHOOK
|
Slack webhook URL for notifications |
Source of watermarkhu/mkdocstrings-github/.github/workflows/example_workflow.yml@my_current_branch
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 |
|
Example workflow ¤
uses: watermarkhu/mkdocstrings-github/.github/workflows/example_workflow.yml@v1
permissions:
contents: read
deployments: write
pull-requests: write
issues: read
with:
environment: ''
This key is illegal but will still be parsed
Inputs: ¤
Name | Description | Default |
---|---|---|
environment
|
Environment to deploy to |
|
version
|
Version to deploy |
latest
|
enable-notifications
|
Whether to send notifications. Requires |
|
parallel-jobs
|
Number of parallel jobs |
1
|
configuration
|
JSON configuration object |
{}
|
Secrets: ¤
Name | Description |
---|---|
API_KEY
|
API key for external service |
DATABASE_URL
|
Database connection string |
SLACK_WEBHOOK
|
Slack webhook URL for notifications |
Source of watermarkhu/mkdocstrings-github/.github/workflows/example_workflow.yml@v1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 |
|
Example workflow ¤
uses: watermarkhu/mkdocstrings-github/.github/workflows/[email protected]
permissions:
contents: read
deployments: write
pull-requests: write
issues: read
with:
environment: ''
This key is illegal but will still be parsed
Inputs: ¤
Name | Description | Default |
---|---|---|
environment
|
Environment to deploy to |
|
version
|
Version to deploy |
latest
|
enable-notifications
|
Whether to send notifications. Requires |
|
parallel-jobs
|
Number of parallel jobs |
1
|
configuration
|
JSON configuration object |
{}
|
Secrets: ¤
Name | Description |
---|---|
API_KEY
|
API key for external service |
DATABASE_URL
|
Database connection string |
SLACK_WEBHOOK
|
Slack webhook URL for notifications |
Source of watermarkhu/mkdocstrings-github/.github/workflows/[email protected]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 |
|
Example workflow ¤
uses: watermarkhu/mkdocstrings-github/.github/workflows/example_workflow.yml@a_custom_version
permissions:
contents: read
deployments: write
pull-requests: write
issues: read
with:
environment: ''
This key is illegal but will still be parsed
Inputs: ¤
Name | Description | Default |
---|---|---|
environment
|
Environment to deploy to |
|
version
|
Version to deploy |
latest
|
enable-notifications
|
Whether to send notifications. Requires |
|
parallel-jobs
|
Number of parallel jobs |
1
|
configuration
|
JSON configuration object |
{}
|
Secrets: ¤
Name | Description |
---|---|
API_KEY
|
API key for external service |
DATABASE_URL
|
Database connection string |
SLACK_WEBHOOK
|
Slack webhook URL for notifications |
Source of watermarkhu/mkdocstrings-github/.github/workflows/example_workflow.yml@a_custom_version
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 |
|
signature_version_string
¤
The version string to use if signature_version
is set to string
.
Preview
Example workflow ¤
uses: watermarkhu/mkdocstrings-github/.github/workflows/example_workflow.yml@latest
permissions:
contents: read
deployments: write
pull-requests: write
issues: read
with:
environment: ''
This key is illegal but will still be parsed
Inputs: ¤
Name | Description | Default |
---|---|---|
environment
|
Environment to deploy to |
|
version
|
Version to deploy |
latest
|
enable-notifications
|
Whether to send notifications. Requires |
|
parallel-jobs
|
Number of parallel jobs |
1
|
configuration
|
JSON configuration object |
{}
|
Secrets: ¤
Name | Description |
---|---|
API_KEY
|
API key for external service |
DATABASE_URL
|
Database connection string |
SLACK_WEBHOOK
|
Slack webhook URL for notifications |
Source of watermarkhu/mkdocstrings-github/.github/workflows/example_workflow.yml@latest
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 |
|
Example workflow ¤
uses: watermarkhu/mkdocstrings-github/.github/workflows/example_workflow.yml@foobar
permissions:
contents: read
deployments: write
pull-requests: write
issues: read
with:
environment: ''
This key is illegal but will still be parsed
Inputs: ¤
Name | Description | Default |
---|---|---|
environment
|
Environment to deploy to |
|
version
|
Version to deploy |
latest
|
enable-notifications
|
Whether to send notifications. Requires |
|
parallel-jobs
|
Number of parallel jobs |
1
|
configuration
|
JSON configuration object |
{}
|
Secrets: ¤
Name | Description |
---|---|
API_KEY
|
API key for external service |
DATABASE_URL
|
Database connection string |
SLACK_WEBHOOK
|
Slack webhook URL for notifications |
Source of watermarkhu/mkdocstrings-github/.github/workflows/example_workflow.yml@foobar
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 |
|