{"id":31642202,"url":"https://github.com/eidp/actions-semver","last_synced_at":"2026-04-18T01:37:12.401Z","repository":{"id":316868072,"uuid":"1048470733","full_name":"eidp/actions-semver","owner":"eidp","description":"Repository containing GitHub Actions for semantic versioning","archived":false,"fork":false,"pushed_at":"2026-04-17T07:37:12.000Z","size":234,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-18T01:37:05.601Z","etag":null,"topics":["actions","github-actions","semver"],"latest_commit_sha":null,"homepage":"","language":"Python","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/eidp.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":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-01T13:47:42.000Z","updated_at":"2026-04-17T07:37:14.000Z","dependencies_parsed_at":null,"dependency_job_id":"883b8ac5-2db9-474a-bb05-0cefe54cbf9a","html_url":"https://github.com/eidp/actions-semver","commit_stats":null,"previous_names":["eidp/actions-semver"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/eidp/actions-semver","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eidp%2Factions-semver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eidp%2Factions-semver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eidp%2Factions-semver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eidp%2Factions-semver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eidp","download_url":"https://codeload.github.com/eidp/actions-semver/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eidp%2Factions-semver/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31953515,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T00:39:45.007Z","status":"ssl_error","status_checked_at":"2026-04-18T00:39:20.671Z","response_time":62,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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","github-actions","semver"],"created_at":"2025-10-07T03:57:09.482Z","updated_at":"2026-04-18T01:37:12.375Z","avatar_url":"https://github.com/eidp.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Actions Semver\n\nThis repository contains GitHub Actions for managing semantic versioning (semver) in your projects.\n\n\u003c!-- BEGIN ACTIONS --\u003e\n\n## 🛠️ GitHub Actions\n\nThe following GitHub Actions are available in this repository:\n\n- [fetch-commit-version](fetch-commit-version/README.md)\n- [generate-version](generate-version/README.md)\n\n\u003c!-- END ACTIONS --\u003e\n\n## How to use\n\n### Run 'Commit Version'\n\nThis script can be used to retrieve the content of version artifacts from previous workflow runs for the current commit.\n\nThis script is used in release workflows, to retrieve the version identifier of already built Docker images / Helm\ncharts for this specific commit (based on the SHA1 for this commit).\n\n#### Arguments\n\n| Argument        | Description                                                                         | Default          |\n|-----------------|-------------------------------------------------------------------------------------|------------------|\n| --commit-sha1   | The full SHA of the commit for which you want to retrieve the version artifact.     | $GITHUB_SHA      |\n| --workflow-name | The name of the GitHub Actions workflow in which the version artifact is generated. | $GITHUB_WORKFLOW |\n| --artifact-name | The name of the version artifact.                                                   | version          |\n\n#### Example\n\n```bash\npython3 ./github_semver/commit_version.py --commit-sha1 b8e97c025c633005e1f89a5de886dcf4b87dcddd --job-name generate-version --artifact-name version\n```\n\n### Run 'SemVer'\n\nYou can use `python3 ./github_semver/run_semver.py` to invoke this script.\n\nWhen invoking this script, the following environment variables are expected to be set (these variables will be set when\nrunning in a GitHub CI environment):\n\n- `GITHUB_SHA`: Full commit SHA\n- `GITHUB_REF`: Git reference (branch/tag)\n- `GITHUB_REF_NAME`: Branch or tag name\n- `GITHUB_HEAD_REF`: Head reference for pull requests\n\n- CI_COMMIT_SHORT_SHA\n- CI_PIPELINE_IID\n- CI_DEFAULT_BRANCH\n- CI_COMMIT_BRANCH\n\nOptionally you can set:\n\n- BUILD_RC_SEMVER to enable `release candidate` postfixing on new semver bumps on the default branch.\n\nDepending on the branch, the following logic will be executed:\n\n### Run on default branch\n\nWhen running this script on the default branch a new SemVer version will be generated.\nThis for now will always be a patch bump on the latest Git tag, or patch bump from\n`0.0.1` if tag is not set.\n\nTo perform this bump, this script will look for the latest \"tag\" set on the remote of the repository, and be set to the\nnext build.\n\n- `1.2.9 -\u003e 1.2.10`\n\nIf `BUILD_RC_SEMVER` is enabled, a suffix with:\n`-rc.\u003cCI_PIPELINE_IID\u003e+\u003cCI_COMMIT_SHORT_SHA\u003e` will be added\n\n### Run on non-default branch\n\nOn a non-default branch commit, we will create a SemVer identifier\nfor a build version. For this we treat 0.0.1-0-0 as a reserved version identifier, (which is the lowest possible semver\nrelease).\n\nAn example of such a SemVer would be:\n\n`0.0.1-build.234+mybranchababab`\n\n## Notes\n\n- If no tag is set on the repository, the build will default to version **'0.0.1'**\n- It is a good practice to keep your branch name short and descriptive.\n  Technically a **semver** tag is allowed to have up to 255 characters, this will leave you with approx. 200 characters\n  for a branch name.\n\n## Development\n\nThis project uses [UV](https://docs.astral.sh/uv/) for Python package management,\nwith [ruff](https://docs.astral.sh/ruff/) for linting and [pytest](https://docs.pytest.org/) for testing.\n\n### Prerequisites\n\n- Python 3.12 or higher\n- [UV](https://docs.astral.sh/uv/getting-started/installation/) package manager\n\n### Pre-commit hooks\n\nTo ensure code quality and consistency, this repository uses [pre-commit](https://pre-commit.com/) hooks. Make sure to\ninstall the pre-commit hooks by running:\n\n```bash\npre-commit install\n```\n\n### Setup\n\n1. Clone the repository:\n   ```bash\n   git clone \u003crepository-url\u003e\n   cd actions-semver\n   ```\n\n2. Install dependencies:\n   ```bash\n   uv sync --dev\n   ```\n\n### Development Commands\n\n```bash\n# Run tests\nuv run pytest\n\n# Run linting\nuv run ruff check\n\n# Format code\nuv run ruff format\n\n# Run the semver script\nuv run python -m github_semver.run_semver\n\n# Run the commit version script\nuv run python -m github_semver.commit_version\n\n# Install new dependencies\nuv add package-name\n\n# Install dev dependencies\nuv add --dev package-name\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feidp%2Factions-semver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feidp%2Factions-semver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feidp%2Factions-semver/lists"}