{"id":13702822,"url":"https://github.com/koozz/gh-semver","last_synced_at":"2025-07-04T18:06:40.250Z","repository":{"id":84567805,"uuid":"527313364","full_name":"koozz/gh-semver","owner":"koozz","description":"A GitHub CLI extension to determine the next semantic version.","archived":false,"fork":false,"pushed_at":"2025-03-13T07:23:41.000Z","size":143,"stargazers_count":12,"open_issues_count":1,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-25T16:45:22.730Z","etag":null,"topics":["gh-cli","gh-extension"],"latest_commit_sha":null,"homepage":"","language":"Go","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/koozz.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}},"created_at":"2022-08-21T19:59:10.000Z","updated_at":"2025-03-13T07:23:43.000Z","dependencies_parsed_at":"2023-11-29T08:25:15.151Z","dependency_job_id":"c558a8ad-6896-457e-a272-1a7d864354f8","html_url":"https://github.com/koozz/gh-semver","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koozz%2Fgh-semver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koozz%2Fgh-semver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koozz%2Fgh-semver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koozz%2Fgh-semver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/koozz","download_url":"https://codeload.github.com/koozz/gh-semver/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248478671,"owners_count":21110743,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["gh-cli","gh-extension"],"created_at":"2024-08-02T21:00:43.476Z","updated_at":"2025-04-11T20:40:35.570Z","avatar_url":"https://github.com/koozz.png","language":"Go","funding_links":[],"categories":["gh-extension","Tool"],"sub_categories":[],"readme":"# gh-semver\n\nThis GitHub CLI extension can be used determine the [semantic version] to\nrelease.\n\nFirst it will search all tags and traverse up and down the git log to find the\nlatest tag and inspect all commits made since against the [conventional commits]\nstandard v1.0.0.\n\n## Prerequisites\n\n* [GitHub commandline interface]\n* **Repository cloned with full depth**, a shallow clone cannot be traversed.\n\n## Usage (commandline)\n\nInstall the extension by running:\n\n```bash\ngh extension install koozz/gh-semver\n```\n\nRun this extension with its keyword (default is semver):\n\n```bash\ngh semver\n```\n\nView more options with:\n\n```bash\ngh semver -help\n```\n\nIn case of a newer version, upgrade by running:\n\n```bash\ngh extension upgrade koozz/gh-semver\n```\n\n## Usage (GitHub Actions)\n\nThis extension can be used in a [GitHub Actions] workflow to determine the next\nsemantic version.\n\nIn your workflow;\n\n* make sure the checkout has `fetch-depth: 0`\n* install the extension\n* call the extension\n* use the version as you see fit\n\n```yaml\n# ...\n\n    steps:\n      - name: Checkout repository\n        uses: actions/checkout@v3\n        with:\n          fetch-depth: 0\n      - name: SemVer\n        id: semver\n        env:\n          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n        run: |\n          gh extension install koozz/gh-semver\n          gh semver -action\n      - name: Tag\n        run: |\n          git tag ${{ steps.semver.outputs.version }}\n\n# ...\n```\n\nOr let the extension create the tag:\n\n```yaml\n# ...\n\n    steps:\n      - name: Checkout repository\n        uses: actions/checkout@v3\n        with:\n          fetch-depth: 0\n      - name: SemVer\n        env:\n          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n        run: |\n          gh extension install koozz/gh-semver\n          gh semver -tag\n          git push --tags\n\n# ...\n```\n\nExample can be found in [.github/workflows/auto-tag-main.yml][workflow]\n\n## Roadmap\n\nThings on the roadmap:\n\n* Semantic Versioning(-ish) for modules in a mono-repo;\n  * Limit versioning to a directory within the repository.\n  * Prefix the version with a module name.\n* Tests to make the software more robust and reliable.\n\n## Issues?\n\nHelp me out and describe the [issue] as complete a possible.\n\n## License\n\nApache 2.0\n\n\u003c!-- Markdown links --\u003e\n[conventional commits]: https://www.conventionalcommits.org/en/v1.0.0/\n[GitHub Actions]: https://docs.github.com/en/actions\n[GitHub commandline interface]: https://cli.github.com/\n[issue]: https://github.com/koozz/gh-semver/issues/new/choose\n[semantic version]: https://semver.org/\n[workflow]: .github/workflows/auto-tag-main.yml\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkoozz%2Fgh-semver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkoozz%2Fgh-semver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkoozz%2Fgh-semver/lists"}