{"id":24755166,"url":"https://github.com/gravity-ui/release-action","last_synced_at":"2025-03-23T06:13:46.597Z","repository":{"id":104912692,"uuid":"527628671","full_name":"gravity-ui/release-action","owner":"gravity-ui","description":null,"archived":false,"fork":false,"pushed_at":"2024-12-02T14:32:26.000Z","size":28,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-28T12:40:55.140Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gravity-ui.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING","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}},"created_at":"2022-08-22T15:42:17.000Z","updated_at":"2024-12-02T14:34:42.000Z","dependencies_parsed_at":"2025-01-28T12:36:45.769Z","dependency_job_id":"c066b638-4686-4789-ae3f-ee8d9aa00edc","html_url":"https://github.com/gravity-ui/release-action","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gravity-ui%2Frelease-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gravity-ui%2Frelease-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gravity-ui%2Frelease-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gravity-ui%2Frelease-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gravity-ui","download_url":"https://codeload.github.com/gravity-ui/release-action/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245061380,"owners_count":20554563,"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":[],"created_at":"2025-01-28T12:36:41.595Z","updated_at":"2025-03-23T06:13:46.576Z","avatar_url":"https://github.com/gravity-ui.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# release-action\n\n## What is it?\nIt is a [GitHub action](https://github.com/features/actions), that does the following things:\n- when you push new commits into `main` branch (or any other branch you designate in `on.push.branches` field),\n  a release PR is created which includes an automatically generated CHANGELOG.md and bumped NPM version, all this is\n  done according to [conventional commits spec](https://www.conventionalcommits.org/en/v1.0.0/)\n- in case any new code is merged into `main` while that release PR is still open, it will be either updated (if bump\n  type stays the same) or recreated (if bump type changes)\n- once the maintainer is ready to publish a new package version, he merges the release PR\n- package unit tests are run (at least `\"test\": \"exit 0\"` should be defined in `package.json`)\n- if they are successful, a new GitHub release is created and a new package version is published to NPM.\n\n## How should I use it?\n\n### Setting up\nCreate the file `.github/workflows/release.yml` at the root of your repo, providing at least the following inputs:\n- `github-token` (who does create release PR)\n- `npm-token` (who does publish NPM package)\n- `node-version`, optional - which node version to use for running unit tests.\n- `default-branch`, optional - branch to open release PR against.\n- `npm-dist-tag`, optional - if you want to release version of package with custom tag (e.g. alpha, beta, latest).\n- `prerelease`, optional - if set, create releases that are pre-major or pre-release version marked as pre-release on GitHub.\n\nThe file looks roughly like, you can change target branch, tokens and node version.\n```yaml\nname: Release\n\non:\n  push:\n    branches: [main]\n\njobs:\n  release:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: gravity-ui/release-action@v1\n        with:\n          github-token: ${{ secrets.GRAVITY_UI_BOT_GITHUB_TOKEN }}\n          npm-token: ${{ secrets.GRAVITY_UI_BOT_NPM_TOKEN }}\n```\n\n### Early development\nThe action encourages \"moving fast and breaking things\" by preventing breaking changes from bumping major version\nin the early stages of project development (before you reach version 1.0.0). In other words, both the\n'feat: something' commits and the commits with 'BREAKING CHANGE: something' footer bump a minor component\nautomatically. Once you consider your project stable enough, you should add `Release-As: 1.0.0` footer in one of\nthe commits and see the usual effect of the 'BREAKING CHANGE: something' footer on you major version.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgravity-ui%2Frelease-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgravity-ui%2Frelease-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgravity-ui%2Frelease-action/lists"}