{"id":22859396,"url":"https://github.com/stevenjdh/action-tagger","last_synced_at":"2026-05-01T14:34:00.916Z","repository":{"id":227564510,"uuid":"771785183","full_name":"StevenJDH/action-tagger","owner":"StevenJDH","description":"Automatically sets semantic tags when releasing a new version of a GitHub action.","archived":false,"fork":false,"pushed_at":"2025-01-04T17:05:50.000Z","size":20,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-31T08:21:14.563Z","etag":null,"topics":["actions","release-automation","semantic-tags","versioning"],"latest_commit_sha":null,"homepage":"https://github.com/marketplace/actions/action-tagger","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/StevenJDH.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"StevenJDH","custom":["https://www.paypal.me/stevenjdh","https://www.buymeacoffee.com/stevenjdh"]}},"created_at":"2024-03-14T00:12:53.000Z","updated_at":"2025-01-04T17:00:09.000Z","dependencies_parsed_at":"2024-03-14T02:23:37.362Z","dependency_job_id":"f69d5e8b-c2cb-487e-8491-5f6962d0bbe0","html_url":"https://github.com/StevenJDH/action-tagger","commit_stats":null,"previous_names":["stevenjdh/action-tagger"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/StevenJDH/action-tagger","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StevenJDH%2Faction-tagger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StevenJDH%2Faction-tagger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StevenJDH%2Faction-tagger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StevenJDH%2Faction-tagger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/StevenJDH","download_url":"https://codeload.github.com/StevenJDH/action-tagger/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StevenJDH%2Faction-tagger/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32501402,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["actions","release-automation","semantic-tags","versioning"],"created_at":"2024-12-13T09:06:50.002Z","updated_at":"2026-05-01T14:34:00.898Z","avatar_url":"https://github.com/StevenJDH.png","language":"Shell","funding_links":["https://github.com/sponsors/StevenJDH","https://www.paypal.me/stevenjdh","https://www.buymeacoffee.com/stevenjdh"],"categories":[],"sub_categories":[],"readme":"# Action Tagger\n\n[![build](https://github.com/StevenJDH/action-tagger/actions/workflows/bash-action-workflow.yml/badge.svg?branch=main)](https://github.com/StevenJDH/action-tagger/actions/workflows/bash-action-workflow.yml)\n![GitHub release (latest by date including pre-releases)](https://img.shields.io/github/v/release/StevenJDH/action-tagger?include_prereleases)\n[![Public workflows that use this action.](https://img.shields.io/endpoint?style=flat\u0026url=https%3A%2F%2Fused-by.vercel.app%2Fapi%2Fgithub-actions%2Fused-by%3Faction%3DStevenJDH%2Faction-tagger%26badge%3Dtrue)](https://github.com/search?o=desc\u0026q=StevenJDH+action-tagger+language%3AYAML\u0026s=\u0026type=Code)\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/a8ae369daa344226b27d34db9c1ae9ef)](https://app.codacy.com/gh/StevenJDH/action-tagger/dashboard?utm_source=gh\u0026utm_medium=referral\u0026utm_content=\u0026utm_campaign=Badge_grade)\n![Maintenance](https://img.shields.io/badge/yes-4FCA21?label=maintained\u0026style=flat)\n![GitHub](https://img.shields.io/github/license/StevenJDH/action-tagger)\n\nAction Tagger automatically sets semantic tags when releasing a new version of a GitHub action. This action adheres to GitHub's [action versioning guide](https://github.com/actions/toolkit/blob/master/docs/action-versioning.md#versioning), and removes the tedious task of having to manually set and shift tags like `v1` and `v1.2` to ensure they always point to a newer release. Tags produced and managed by this action will continue to work alongside other methods for referencing a release such as pointing to a branch, SHA, or other tags to meet different needs. In fact, Action Tagger currently manages its own release tags in a very similar way as described further down.\n\n[![Buy me a coffee](https://img.shields.io/static/v1?label=Buy%20me%20a\u0026message=coffee\u0026color=important\u0026style=flat\u0026logo=buy-me-a-coffee\u0026logoColor=white)](https://www.buymeacoffee.com/stevenjdh)\n\n## Features\n\n* Automate the setting and shifting of first and second level semantic tags.\n* Optionally set a `latest` tag to use as an alternative to pointing to `main`.\n* Support for working in conjunction with other automated workflows like release generators.\n* Tag format is validated during a run to ensure correct conformity.\n* Support for running the action in a dry run mode without making actual changes.\n* Summary reports are generated after each run.\n* Reference outputs of managed tags for additional possibilities.\n\n## Compatibility\nBelow is a list of GitHub-hosted runners that support jobs using this action.\n\n| Runner     | Supported? | \n|------------|:----------:|\n| [![Ubuntu](https://img.shields.io/badge/Ubuntu-E95420?style=flat\u0026logo=ubuntu\u0026logoColor=white)](https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on) | :white_check_mark: |\n| [![Windows](https://img.shields.io/badge/Windows-0078D6?style=flat\\\u0026logo=windows\\\u0026logoColor=white)](https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on) | :white_check_mark: |\n| [![macOS](https://img.shields.io/badge/macOS-000000?style=flat\\\u0026logo=macos\\\u0026logoColor=F0F0F0)](https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on) | :white_check_mark: |\n\n## Inputs\nThe following inputs are available:\n\n| Name                                                                         | Type     | Required | Default                         |  Description                                                        |\n|------------------------------------------------------------------------------|----------|:--------:|:-------------------------------:|---------------------------------------------------------------------|\n| \u003ca name=\"enable-dry-run\"\u003e\u003c/a\u003e[enable\u0026#x2011;dry\u0026#x2011;run](#enable-dry-run) | `string` | `false`  | `false`                         | Indicates whether or not to perform a dry run without pushing tags. |\n| \u003ca name=\"set-latest-tag\"\u003e\u003c/a\u003e[set\u0026#x2011;latest\u0026#x2011;tag](#set-latest-tag) | `string` | `false`  | `false`                         | Indicates whether or not to also set the latest tag.                |\n| \u003ca name=\"release-version\"\u003e\u003c/a\u003e[release\u0026#x2011;version](#release-version)     | `string` | `false`  | \u003ccode\u003e\u0026#xFEFF;$\u0026#xFEFF;{{\u0026#xa0;github.ref\u0026#xa0;}}\u003c/code\u003e | Overrides the release version used for processing (e.g., `v1.0.0` or `refs/tags/v1.0.0`). |\n| \u003ca name=\"github-token\"\u003e\u003c/a\u003e[github\u0026#x2011;token](#github-token)              | `string` | `false`  | \u003ccode\u003e\u0026#xFEFF;$\u0026#xFEFF;{{\u0026#xa0;github.token\u0026#xa0;}}\u003c/code\u003e | Overrides the default GitHub token used to authenticate against a repository for Git context. |\n\n\u003e [!NOTE]  \n\u003e Enabling dry run will use a dummy version of v1.0.0 regardless of what version tags are available, or what override value is provided.\n\n## Outputs\nThe following outputs are available:\n\n| Name                                                        | Type     | Example | Description                                      |\n|-------------------------------------------------------------|----------|---------|--------------------------------------------------|\n| \u003ca name=\"major_release\"\u003e\u003c/a\u003e[major_release](#major_release) | `string` | v1      | The latest major release version.                |\n| \u003ca name=\"minor_release\"\u003e\u003c/a\u003e[minor_release](#minor_release) | `string` | v1.2    | The latest major and feature release version.    |\n| \u003ca name=\"full_release\"\u003e\u003c/a\u003e[full_release](#full_release)    | `string` | v1.2.3  | The full release version.                        |\n| \u003ca name=\"latest_tag\"\u003e\u003c/a\u003e[latest_tag](#latest_tag)          | `string` | false   | Indicates whether of not the latest tag was set. |\n\n## Usage\nImplementing this action is relatively simple with just a few steps.\n\n1. Below is a working example of a typical release workflow using Action Tagger. Add this to a file called something like `action-release-workflow.yml`, and place it in the `.github/workflows/` folder. Token permissions have been scoped down to `contents:write` with support for pushing tags.\n\n    ```yaml\n    name: action-release-tags\n\n    on:\n      release:\n        types: [released, edited]\n\n    jobs:\n      action-tagger:\n        name: action-tagger\n        runs-on: ubuntu-latest\n        permissions:\n          contents: write\n        environment: releases\n\n        steps:\n        - uses: actions/checkout@v4\n          with:\n            # Disabling shallow clone ensures all commits \n            # and tags are available at checkout.\n            fetch-depth: 0\n\n        - name: Tag Release\n          id: action-tagger\n          uses: stevenjdh/action-tagger@v1\n          with:\n            set-latest-tag: true\n    ```\n\n2. When it's time to create a release, ensure that the tag being set is using the format `vX.X.X`. For example, `v1.2.3`. This will trigger the process and automate the rest.\n3. Done. Feel free to edit the release if a mistake was made, and Action Tagger will reflect the changes for this as well.\n\n\u003e [!TIP]\n\u003e If using a release generator, define this action in that workflow and override the version used for processing with the generated one. This is needed because the release event will not be triggered due to [safeguards](https://docs.github.com/en/actions/writing-workflows/choosing-when-your-workflow-runs/triggering-a-workflow#triggering-a-workflow-from-a-workflow) in the default GitHub token for preventing recursive workflow runs. Alternatively, use a [PAT](https://github.com/settings/tokens/new?scopes=workflow) with either `workflow` or `repo` scoped permissions, as PATs do not have the same limitations, except for the need to manage their expiration.\n\n## Disclaimer\nAction Tagger is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.\n\n## Contributing\nThanks for your interest in contributing! There are many ways to contribute to this project. Get started [here](https://github.com/StevenJDH/.github/blob/main/docs/CONTRIBUTING.md).\n\n## Do you have any questions?\nMany commonly asked questions are answered in the FAQ:\n[https://github.com/StevenJDH/action-tagger/wiki/FAQ](https://github.com/StevenJDH/action-tagger/wiki/FAQ)\n\n## Want to show your support?\n\n|Method          | Address                                                                                   |\n|---------------:|:------------------------------------------------------------------------------------------|\n|PayPal:         | [https://www.paypal.me/stevenjdh](https://www.paypal.me/stevenjdh \"Steven's Paypal Page\") |\n|Cryptocurrency: | [Supported options](https://github.com/StevenJDH/StevenJDH/wiki/Donate-Cryptocurrency)    |\n\n\n// Steven Jenkins De Haro (\"StevenJDH\" on GitHub)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstevenjdh%2Faction-tagger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstevenjdh%2Faction-tagger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstevenjdh%2Faction-tagger/lists"}