Github Action
kind: githubaction
Description
The Github Action crawler looks recursively for all Github Action workflows. Then for each of them, it tries to automate its update.
It currently support the following sources:
Manifest
Parameters
Name | Type | Description | Required |
---|---|---|---|
credentials | object | Credentials allows to specify the credentials to use to authenticate to the git provider The ID of the credential must be the domain of the git provider to configure default: empty examples:
| |
kind | string | ||
token | string | ||
credentialsdocker | object | CredentialsDocker provides a map of registry credentials where the key is the registry URL without scheme | |
password | string | password specifies the container registry password to use for authentication. Not compatible with token
| |
token | string | token specifies the container registry token to use for authentication.
| |
username | string | username specifies the container registry username to use for authentication.
| |
digest | boolean | Digest provides parameters to specify if the generated manifest should use a digest instead of the branch or tag. Remark: - The digest is only supported for GitHub Action and docker image tag update. Feel free to open an issue for the Gitea and Forgejo integration. | |
files | array | files allows to specify the accepted GitHub Action workflow file name default:
| |
ignore | array | ignore allows to specify rule to ignore autodiscovery a specific GitHub action based on a rule default: empty | |
actions | object | Actions specifies the list of artifacts to check The key is the artifact name and the value is the artifact version The artifact name must match the GitHub action name or the Docker image name. In case of a Docker image, it must have the prefix docker:// If the value is empty, then the artifact name is enough to match If the value is a valid Git branch, Git tag, release, a Docker image tag , then the artifact version must match the constraint | |
path | string | Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path. | |
only | array | only allows to specify rule to only autodiscover manifest for a specific GitHub action based on a rule default: empty | |
actions | object | Actions specifies the list of artifacts to check The key is the artifact name and the value is the artifact version The artifact name must match the GitHub action name or the Docker image name. In case of a Docker image, it must have the prefix docker:// If the value is empty, then the artifact name is enough to match If the value is a valid Git branch, Git tag, release, a Docker image tag , then the artifact version must match the constraint | |
path | string | Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path. | |
rootdir | string | rootDir allows to specify the root directory from where looking for GitHub Action default: empty | |
versionfilter | object | versionfilter provides parameters to specify the version pattern used when generating manifest. kind - semver
versionfilter of kind
| |
kind | string | specifies the version kind such as semver, regex, or latest | |
pattern | string | specifies the version pattern according the version kind for semver, it is a semver constraint for regex, it is a regex pattern for time, it is a date format | |
regex | string | specifies the regex pattern, used for regex/semver and regex/time. Output of the first capture group will be used. | |
strict | boolean | strict enforce strict versioning rule. Only used for semantic versioning at this time |
Example
# updatecli.d/default.yaml
name: "githubaction autodiscovery"
scms:
default:
kind: git
spec:
url: https://github.com/updatecli/updatecli.git
branch: "main"
autodiscovery:
scmid: default
crawlers:
githubaction:
spec:
digest: true
rootdir: ".github"