{"id":19650908,"url":"https://github.com/git-releaser/git-releaser","last_synced_at":"2025-04-28T16:31:04.668Z","repository":{"id":211244476,"uuid":"726983675","full_name":"git-releaser/git-releaser","owner":"git-releaser","description":"Tool for creating Git Releases using Conventional Commits and Pull/Merge Requests","archived":false,"fork":false,"pushed_at":"2025-04-21T22:48:12.000Z","size":4868,"stargazers_count":20,"open_issues_count":19,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-21T23:33:16.592Z","etag":null,"topics":["github","gitlab","release-automation"],"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/git-releaser.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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,"zenodo":null}},"created_at":"2023-12-03T23:38:15.000Z","updated_at":"2025-04-07T11:10:20.000Z","dependencies_parsed_at":"2024-01-05T07:40:34.765Z","dependency_job_id":"a8c14780-8182-47bb-91b0-763a24877e5c","html_url":"https://github.com/git-releaser/git-releaser","commit_stats":null,"previous_names":["git-releaser/git-releaser","thschue/git-releaser"],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/git-releaser%2Fgit-releaser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/git-releaser%2Fgit-releaser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/git-releaser%2Fgit-releaser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/git-releaser%2Fgit-releaser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/git-releaser","download_url":"https://codeload.github.com/git-releaser/git-releaser/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251345843,"owners_count":21574797,"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":["github","gitlab","release-automation"],"created_at":"2024-11-11T15:03:54.267Z","updated_at":"2025-04-28T16:30:59.659Z","avatar_url":"https://github.com/git-releaser.png","language":"Go","readme":"# git-releaser\n\n![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/git-releaser/git-releaser)\n![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/git-releaser/git-releaser/release.yaml)\n![GitHub release (latest by date)](https://img.shields.io/github/v/release/git-releaser/git-releaser)\n\n`git-releaser` is a tool for creating Git releases based on [Semantic Versioning](https://semver.org/) heavily inspired by [release-please](https://github.com/release-please/release-please).\n\nIt is designed to be used in CI/CD pipelines to automate the creation of Git releases using PRs.\n\n## Providers\nCurrently, `git-releaser` works best with GitLab. GitHub support is planned and more providers can be added in the future.\n\n![](https://img.shields.io/badge/gitlab-ready-blue)\n![](https://img.shields.io/badge/github-ready-blue)\n\n# CLI Installation\n\n## Linux/Mac via brew\n\n```\nbrew tap git-releaser/git-releaser\nbrew install git-releaser\n```\n\n\u003cdetails\u003e\n  \u003csummary\u003eFailing Installation on WSL or Linux (missing gcc)\u003c/summary\u003e\n  When installing Homebrew on WSL or Linux, you may encounter the following error:\n\n  ```\n  ==\u003e Installing git-releaser from git-releaser/git-releaser Error: The following formula cannot be installed from a bottle and must be\n  built from the source. git-releaser Install Clang or run brew install gcc.\n  ```\n\nIf you install gcc as suggested, the problem will persist. Therefore, you need to install the build-essential package.\n  ```\n     sudo apt-get update\n     sudo apt-get install build-essential\n  ```\n\u003c/details\u003e\n\n## Quick Start\nYou can either use the CLI tool `git-releaser initialize -p provider` to generate the initial configuration or create it manually.\n\nThe most important part of the configuration is the `.git-releaser-manifest.yaml` file which contains the current version of your project. This file should be committed to your repository.\n\nPlease note that the first release will be created based on the version specified in the configuration file. Afterward, the version will be updated automatically.\n\n```json\n{\"version\": \"0.1.0\"}\n```\n\n### GitLab\n* Create a new [GitLab Personal Access Token](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html) with `api` scope.\n* Create a new `.git-releaser-manifest.yaml` in your repository with the following content:\n```json\n{\"version\": \"0.1.0\"}\n```\n\n* Create a new `.gitlab-ci.yml` file in your repository with the following content:\n```yaml\nstages:\n  - release\n\nvariables:\n  DOCKER_IMAGE: \"ghcr.io/git-releaser/git-releaser:dev-202312060656\"\n  GIT_RELEASER_PROVIDER: \"gitlab\"\n  GIT_RELEASER_USER_ID: \"\u003cyour user-id\u003e\"\n  GIT_RELEASER_TOKEN: $PAT\n  GIT_RELEASER_PROJECT_URL: \"\u003cyour-project-url\u003e\"\n  GIT_RELEASER_PROJECT_ID: $CI_PROJECT_ID\n\nrun-release:\n  stage: release\n  script:\n    - git clone $GIT_RELEASER_PROJECT_URL\n    - cd git-releaser-demo\n    - /git-releaser update\n  image:\n    name: $DOCKER_IMAGE\n    entrypoint: [\"\"]\n  rules:\n    - if: $CI_COMMIT_BRANCH == \"main\"\n      when: always\n```\n\n* If you run the SaaS version of GitLab, the API URL is automatically detected. If you run a self-hosted version of GitLab, you need to set the `GIT_RELEASER_API_URL` variable to the URL of your GitLab instance.\n\n* Afterwards, commit and push the changes to your repository. This will trigger a new pipeline which will create a new release based on the latest PRs merged into the `main` branch.\n\n* When a new change is merged into the `main` branch, a new release merge will be created automatically.\n\n* When this merge request is merged, a new release will be created automatically.\n\n### GitHub\nTake a look at our [GitHub Action](https://github.com/git-release/git-releaser-action) to use `git-releaser` with GitHub.\n\n### Updating the version in config files\n`git-releaser` can also update the version in config files. To do so, you need to specify the extra files in a `.git-releaser-config.yaml` file:\n\n```yaml\nextra_files:\n- path: test2.txt\n```\n\nIf the test2.txt file contains the following content:\n```\nmy_version: 0.0.1 # x-git-releaser-version\nother_version: 0.0.2\n```\n\ngit-releaser will update the version specified n my_version during the release.\n\n###\n\n## Contributing\nPlease read our [contributing guide](./CONTRIBUTING.md).\n\n## Community\n\u003ca href=\"https://github.com/git-releaser/git-releaser/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=git-releaser/git-releaser\" /\u003e\n\u003c/a\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgit-releaser%2Fgit-releaser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgit-releaser%2Fgit-releaser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgit-releaser%2Fgit-releaser/lists"}