Files
update-tags-action/action.yml

65 lines
1.9 KiB
YAML

name: "update-tags-action"
description: "Easily create/update one or more tags in a GitHub repository."
author: "jimeh"
branding:
icon: "tag"
color: "blue"
inputs:
tags:
description: "List/CSV of tags to create/update."
required: false
derive_from:
description: >-
Semver version string to derive tags from (e.g., 'v1.2.3'). When provided,
generates tags using `derive_from_template` input. Default template will
produce major and minor tags. (e.g., 'v1', 'v1.2')
required: false
derive_from_template:
description: >-
Handlebars template for deriving tags from the `derive_from` input.
CSV/newline-delimited list with placeholders: {{prefix}}, {{major}},
{{minor}}, {{patch}}, {{prerelease}}, {{build}}, {{version}}.
required: false
default: "{{prefix}}{{major}},{{prefix}}{{major}}.{{minor}}"
ref:
description: "The SHA or ref to tag. Defaults to SHA of current commit."
required: false
default: "${{ github.sha }}"
when_exists:
description: >-
What to do if the tag already exists. Must be one of 'update', 'skip', or
'fail'.
required: false
default: "update"
annotation:
description: >-
Optional annotation message for tags. If provided, creates annotated tags.
If empty, creates lightweight tags.
required: false
default: ""
dry_run:
description: >-
If true, logs planned operations without executing them.
required: false
default: "false"
github_token:
description: "The GitHub token to use for authentication."
required: false
default: ${{ github.token }}
outputs:
tags:
description: "List of tags that were created/updated."
created:
description: "List of tags that were created."
updated:
description: "List of tags that were updated."
skipped:
description: "List of tags that were skipped."
runs:
using: node24
main: dist/index.js