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