{"id":20766405,"url":"https://github.com/agrc/release-composite-action","last_synced_at":"2026-05-12T00:04:48.893Z","repository":{"id":59194057,"uuid":"535864933","full_name":"agrc/release-composite-action","owner":"agrc","description":"A GitHub composite action standardizing the UGRC release process with release-please","archived":false,"fork":false,"pushed_at":"2026-04-23T19:33:13.000Z","size":173,"stargazers_count":1,"open_issues_count":5,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-04-23T21:27:03.419Z","etag":null,"topics":["github-composite-action","government-app","terraform-managed"],"latest_commit_sha":null,"homepage":"","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/agrc.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-09-12T21:59:05.000Z","updated_at":"2026-04-23T19:33:18.000Z","dependencies_parsed_at":"2024-06-17T19:43:38.488Z","dependency_job_id":"401bdcc1-1644-4915-aa65-3295e5673114","html_url":"https://github.com/agrc/release-composite-action","commit_stats":{"total_commits":61,"total_committers":3,"mean_commits":"20.333333333333332","dds":0.5573770491803278,"last_synced_commit":"19f7e01ad22b36a985f8c22c7cd5da5c8638c029"},"previous_names":[],"tags_count":36,"template":false,"template_full_name":null,"purl":"pkg:github/agrc/release-composite-action","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agrc%2Frelease-composite-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agrc%2Frelease-composite-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agrc%2Frelease-composite-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agrc%2Frelease-composite-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/agrc","download_url":"https://codeload.github.com/agrc/release-composite-action/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agrc%2Frelease-composite-action/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32917888,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-11T17:09:15.040Z","status":"ssl_error","status_checked_at":"2026-05-11T17:08:45.420Z","response_time":120,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["github-composite-action","government-app","terraform-managed"],"created_at":"2024-11-17T11:23:29.391Z","updated_at":"2026-05-12T00:04:48.881Z","avatar_url":"https://github.com/agrc.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Release Composite Action\n\n[![Push Events](https://github.com/agrc/release-composite-action/actions/workflows/push.yml/badge.svg)](https://github.com/agrc/release-composite-action/actions/workflows/push.yml)\n\nThis action is a wrapper around Google's [release-please](https://github.com/googleapis/release-please) that adds some UGRC-specific conventions and enhancements.\n\n## Usage\n\n### Prerequisites\n\n- Node projects must have a `package.json` file in the `main` branch.\n- The following labels must already exist in the repository:\n  - `autorelease: tagged`\n  - `autorelease: pending`\n\n```yml\n# push.yml\nname: Push Events\n\non:\n  push:\n    branches:\n      - dev\n      - main\n\nconcurrency:\n  group: ${{ github.workflow }}-${{ github.ref }}\n  cancel-in-progress: true\n\njobs:\n  release:\n    name: Create release\n    runs-on: ubuntu-latest\n    permissions:\n      contents: write\n      pull-requests: write\n\n    steps:\n      - uses: agrc/release-composite-action@v1\n        with:\n          create-major-minor-tags: true\n          prerelease: ${{ github.ref_name == 'dev' }}\n          repo-token: ${{ secrets.GITHUB_TOKEN }}\n          github-app-id: ${{ secrets.UGRC_RELEASE_BOT_APP_ID }}\n          github-app-key: ${{ secrets.UGRC_RELEASE_BOT_APP_KEY }}\n          github-app-name: ${{ secrets.UGRC_RELEASE_BOT_NAME }}\n          github-app-email: ${{ secrets.UGRC_RELEASE_BOT_EMAIL }}\n```\n\n## Commits\n\nCommits should have the following format:\n\n```text\n\u003ctype\u003e[(optional scope)]: \u003csummary\u003e\n\n[optional body]\n\n[optional footer]\n```\n\n### Commit Types\n\nThis action uses release-please to auto-generates a changelog based on commits using the [Angular preset for Conventional Commits](https://github.com/angular/angular/blob/main/CONTRIBUTING.md#-commit-message-format).\n\nThe following commit message types trigger new releases.\n\n| Type | Description | Release Type | Changelog Section |\n| -- | -- | -- | -- |\n| `feat` | A new feature | Minor | Features |\n| `fix` | A bug fix | Patch | Bug Fixes |\n| `docs` | Documentation updates | Patch | Documentation |\n| `style` | Changes to the appearance of the project/UI | Patch | Styles |\n| `deps` | A dependency update. Dependabot should [be configured](https://github.com/agrc/release-composite-action/blob/6bdccbb5a1f882e756a3e6e09a3b3f699c55bfd4/.github/dependabot.yml#L12-L14) to use this prefix. | Patch | Dependencies |\n\nThe following commit message types are supported but will not trigger a release or show up in the changelog.\n| Type | Description |\n| -- | -- |\n| `chore` | Any sort of change that does not affect the deployed project |\n| `ci` | Changes to CI configuration files and scripts |\n| `perf` | A code change that improves performance |\n| `refactor` | A code change that neither fixes a bug nor adds a feature |\n| `test` | Adding missing tests or correcting existing tests |\n\n### Scope\n\nScopes are a way to add context to the commits and therefore the changelog. They are optional and should be in parentheses. For example:\n\n```text\nfeat(app): add a new app feature\nfeat(api): add a new api feature\nfeat: add a new feature\n```\n\nThis commit message would show up like this in the changelog:\n\n```markdown\n### Features\n\n- **app:** add a new app feature (\u003csha\u003e)\n- **api:** add a new api feature (\u003csha\u003e)\n- add a new feature (\u003csha\u003e)\n```\n\n### Summary\n\nCommit summaries should be written using imperative, present tense (\"fix\" not \"fixed\" or \"fixes\"), lowercase (do not capitalize the first word or use punctuation). The commit summaries are added to the changelog.\n\nFor example:\n\n```text\nfeat: add a new feature\n```\n\n### Body\n\nContinue to use imperative, present tense. The body should include a more detailed description of the change. This is where you can provide more context and reasoning for the change. The body does not show up in the changelog.\n\n### Footer\n\nThe footer should contain any references to GitHub issues: `closes #1234`, `refs #1234`, etc. `closes` will automatically close the issue when the commit is merged and `refs` will add a link to the commit in the referenced issue or pull request. The footer may also include information about a breaking change (see below).\n\n\u003e [!NOTE]\n\u003e The body is not required to use the footer.\n\n### Breaking Changes\n\nIf a commit introduces a breaking change, add a `!` after the type and optional scope. This will trigger a major version bump.\n\n\u003e [!IMPORTANT]\n\u003e A `BREAKING CHANGE: \u003csummary of breaking change\u003e` section is required in the commit footer.\n\n```text\nfix!: add missing constructor parameter\n\nSome detailed description that will not show up in the changelog.\n\nBREAKING CHANGE: summary of breaking change\n- breaking change description\n- migration instructions\n- etc\n\nAnything after the first blank line will not be included in the changelog.\n```\n\nThe above commit would show up in the changelog like this:\n\n```markdown\n### ⚠ BREAKING CHANGES\n\n* summary of breaking change\n    - breaking change description\n    - migration instructions\n    - etc\n\n### Bug Fixes\n\n* add missing constructor parameter ([5b757c3](https://github.com/agrc/release-composite-action/commit/5b757c31c4bb2e04efb19c6de1dacd0689bcbe72))\n```\n\n\u003e [!NOTE]\n\u003e This follow are available to use with breaking changes: `feat!`, `fix!`, or `refactor!`\n\u003e They also work with scopes: `feat(scope)!`, `fix(scope)!`, or `refactor(scope)!`\n\nYou may dig into the [release-please](https://github.com/googleapis/release-please#how-should-i-write-my-commits) and the [Angular preset](https://github.com/angular/angular/blob/main/CONTRIBUTING.md#commit-message-footer) documentation for more information.\n\n### Forcing a Specific Version\n\nThis action's use of release-please does not support their [method for forcing a specific release version](https://github.com/googleapis/release-please#how-do-i-change-the-version-number) due to our use of [agrc/get-next-version-action](https://github.com/agrc/get-next-version-action). However, you can achieve the same results by manually updating an open release PR. Here are the things that you need to change to match the desired version:\n\n- PR Title\n- Changelog within PR description\n- Update the commit\n  - Checkout the branch locally and modify the necessary files\n  - Stage your edits\n  - Amend the release commit: `git commit --amend -m \"chore: release v\u003cnew.version.number\u003e\"` (or leave off -m and it'll open your editor to change the message)\n  - Force push your changes back to GitHub\n\nOnce the above changes have been completed, you may merge the PR and the release should be created using the new version number.\n\n### Extra Files\n\nSometimes you have extra files in which you want the version number bumped. To achieve this, you pass them to the `extra-files` input. For example:\n\n```yml\n  with:\n    extra-files: path/to/file2,another/path/to/file3\n```\n\nYou also need to tag the version in the extra files with a special comment.\n\n```js\n{\n  \"version\": \"1.2.3\" // x-release-please-version\n}\n```\n\n### Initial Release\n\nThe initial release for a project should default to `v1.0.0` if the current version is less a major 1.\n\n## Development\n\n### Act Test Runner\n\nIf you are using rancher, make sure to set the following environment variable prior to running act:\n\n```sh\nexport DOCKER_HOST=$(docker context inspect --format '{{.Endpoints.docker.Host}}')\n```\n\nAn example of running the tests with act:\n\n```sh\nact --env TEST_TOKEN=\"$(gh auth token)\"\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagrc%2Frelease-composite-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fagrc%2Frelease-composite-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagrc%2Frelease-composite-action/lists"}