{"id":19293514,"url":"https://github.com/reloaded-project/devops-changelog","last_synced_at":"2026-02-28T08:09:10.612Z","repository":{"id":244614723,"uuid":"815759576","full_name":"Reloaded-Project/devops-changelog","owner":"Reloaded-Project","description":"GitHub Actions Composite Action for Building and (Optionally) Publishing a An Automated Changelog","archived":false,"fork":false,"pushed_at":"2025-12-04T05:51:28.000Z","size":203,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"v1-master","last_synced_at":"2025-12-07T07:15:31.175Z","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/Reloaded-Project.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":"2024-06-16T04:15:02.000Z","updated_at":"2025-12-04T05:51:05.000Z","dependencies_parsed_at":"2024-10-26T16:28:41.633Z","dependency_job_id":"eae28ed4-716b-4533-b812-2a17daf3eed1","html_url":"https://github.com/Reloaded-Project/devops-changelog","commit_stats":null,"previous_names":["reloaded-project/devops-changelog"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/Reloaded-Project/devops-changelog","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Reloaded-Project%2Fdevops-changelog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Reloaded-Project%2Fdevops-changelog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Reloaded-Project%2Fdevops-changelog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Reloaded-Project%2Fdevops-changelog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Reloaded-Project","download_url":"https://codeload.github.com/Reloaded-Project/devops-changelog/tar.gz/refs/heads/v1-master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Reloaded-Project%2Fdevops-changelog/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29928204,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-27T19:37:42.220Z","status":"online","status_checked_at":"2026-02-28T02:00:07.010Z","response_time":90,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2024-11-09T22:35:16.232Z","updated_at":"2026-02-28T08:09:10.588Z","avatar_url":"https://github.com/Reloaded-Project.png","language":null,"readme":"\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/Reloaded-Project/devops-changelog\" target=\"_blank\"\u003e\n    \u003cimg src=\"assets/reloaded-logo.png\" alt=\"Reloaded Logo\" width=\"100\"/\u003e\n  \u003c/a\u003e\n\n  \u003ch1 align=\"center\"\u003eReloaded Changelog Workflow\u003c/h1\u003e\n\n  \u003cp\u003e\n    \u003ca href=\"LICENSE\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/License-MIT-blue.svg\" alt=\"License\"\u003e\n    \u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\nThis is a GitHub composite action that generates a changelog using the \n[auto-changelog][auto-changelog] tool. It provides various options to customize the changelog\ngeneration process and supports uploading the generated changelog as a GitHub release or an artifact.\n\n## Example Usage\n\n`.github/workflows/changelog.yml`:\n\n```yaml\nname: Generate Changelog\n\non:\n  push:\n    branches: [ main ]\n    tags:\n      - '*'\n  workflow_dispatch:\n\njobs:\n  changelog:\n    runs-on: ubuntu-latest\n    permissions: \n      contents: write\n\n    steps:\n      # Checkout is automatic\n      - name: Generate Changelog\n        uses: Reloaded-Project/devops-changelog@v1\n        with:\n          output: CHANGELOG.md\n          unreleased: false\n          commit-limit: 50\n          upload-artifact: true\n          upload-release: true\n          template: keepachangelog\n          override-starting-version: true\n          hide-credit: false\n          is-release: ${{ startsWith(github.ref, 'refs/tags/') }}\n          release-tag: ${{ github.ref_name }}\n```\n\n## Setup\n\nTo use this action in your own repository:\n\n1. Create a new workflow file (e.g., `.github/workflows/changelog.yml`) in your repository.\n2. Copy the example usage code from above into the new workflow file.\n3. Customize the action inputs according to your requirements.\n\n## Configuration\n\n### Inputs\n\nThe following flags are directly passed to the underlying [auto-changelog tool][auto-changelog]:\n\n(PS. If you find it useful, consider donating to the original author)\n\n| Input                   | Required | Default        | Description                                                                  |\n| ----------------------- | -------- | -------------- | ---------------------------------------------------------------------------- |\n| `output`                | No       | `CHANGELOG.md` | Output file path                                                             |\n| `config`                | No       | `\"\"`           | Path to the auto-changelog config file                                       |\n| `template`              | No       | `compact`      | Specify template to use [compact, keepachangelog, json]                      |\n| `remote`                | No       | `\"\"`           | Specify git remote to use for links                                          |\n| `package`               | No       | `\"\"`           | Use version from file as latest release                                      |\n| `latest-version`        | No       | `\"\"`           | Use specified version as latest release                                      |\n| `unreleased`            | No       | `false`        | Include section for unreleased changes                                       |\n| `commit-limit`          | No       | `\"\"`           | Number of commits to display per release                                     |\n| `backfill-limit`        | No       | `\"\"`           | Number of commits to backfill empty releases with                            |\n| `commit-url`            | No       | `\"\"`           | Override URL for commits, use {id} for commit id                             |\n| `issue-url`             | No       | `\"\"`           | Override URL for issues, use {id} for issue id                               |\n| `merge-url`             | No       | `\"\"`           | Override URL for merges, use {id} for merge id                               |\n| `compare-url`           | No       | `\"\"`           | Override URL for compares, use {from} and {to} for tags                      |\n| `issue-pattern`         | No       | `\"\"`           | Override regex pattern for issues in commit messages                         |\n| `breaking-pattern`      | No       | `\"\"`           | Regex pattern for breaking change commits                                    |\n| `merge-pattern`         | No       | `\"\"`           | Add custom regex pattern for merge commits                                   |\n| `commit-pattern`        | No       | `\"\"`           | Pattern to include when parsing commits                                      |\n| `ignore-commit-pattern` | No       | `\"\"`           | Pattern to ignore when parsing commits                                       |\n| `tag-pattern`           | No       | `\"\"`           | Override regex pattern for version tags                                      |\n| `tag-prefix`            | No       | `\"\"`           | Prefix used in version tags                                                  |\n| `starting-version`      | No       | `\"\"`           | Specify earliest version to include in changelog                             |\n| `starting-date`         | No       | `\"\"`           | Specify earliest date to include in changelog                                |\n| `ending-version`        | No       | `\"\"`           | Specify latest version to include in changelog                               |\n| `sort-commits`          | No       | `relevance`    | Sort commits by property [relevance, date, date-desc, subject, subject-desc] |\n| `release-summary`       | No       | `false`        | Display tagged commit message body as release summary                        |\n| `unreleased-only`       | No       | `false`        | Only output unreleased changes                                               |\n| `hide-empty-releases`   | No       | `false`        | Hide empty releases                                                          |\n| `hide-credit`           | No       | `false`        | Hide auto-changelog credit                                                   |\n| `handlebars-setup`      | No       | `\"\"`           | Handlebars setup file                                                        |\n| `append-git-log`        | No       | `\"\"`           | String to append to git log command                                          |\n| `append-git-tag`        | No       | `\"\"`           | String to append to git tag command                                          |\n| `prepend`               | No       | `false`        | Prepend changelog to output file                                             |\n| `stdout`                | No       | `false`        | Output changelog to stdout                                                   |\n\nAnd the following parameters are specific to this workflow.\n\n| Input                       | Required | Default     | Description                                                                    |\n| --------------------------- | -------- | ----------- | ------------------------------------------------------------------------------ |\n| `auto-checkout`             | No       | `true`      | Performs automatic checkout of current repository.                             |\n| `upload-artifact`           | No       | `false`     | Upload the generated changelog as an artifact                                  |\n| `artifact-name`             | No       | `Changelog` | Name of the artifact for the uploaded changelog.                               |\n| `upload-release`            | No       | `false`     | Upload the generated changelog to GitHub Releases                              |\n| `is-release`                | No       | `false`     | Whether this is a GitHub Release                                               |\n| `release-tag`               | No       | `\"\"`        | Tag associated with the GitHub Release                                         |\n| `override-starting-version` | No       | `false`     | Override the starting version with the release tag if this is a GitHub Release |\n\n## Extra Examples\n\nFind more examples in [the tests][changelog-tests].\n\n### Default Parameters\n\n```yaml\n- name: Generate Changelog\n  uses: Reloaded-Project/devops-changelog@v1\n```\n\nThis example uses the default parameters to generate the changelog.\n\nThis generates a `CHANGELOG.md` file with the default settings.\n\n### Custom Parameters\n\n```yaml\n- name: Generate Changelog\n  uses: Reloaded-Project/devops-changelog@v1\n  with:\n    output: custom-changelog.md\n    unreleased: true\n    commit-limit: 10\n    sort-commits: date-desc\n    hide-credit: true\n```\n\nThis example demonstrates using custom parameters to customize the changelog generation. It sets the following inputs:\n\n- `output`: Specifies the output file name as `custom-changelog.md`.\n- `unreleased`: Includes a section for unreleased changes.\n- `commit-limit`: Limits the number of commits displayed per release to 10.\n- `sort-commits`: Sorts the commits by date in descending order.\n- `hide-credit`: Hides the auto-changelog credit.\n\n### Upload Artifact\n\n```yaml\n- name: Generate Changelog\n  uses: Reloaded-Project/devops-changelog@v1\n  with:\n    # Upload the changelog as an arifact.\n    upload-artifact: true\n\n    # Upload the changelog to GitHub Releases.\n    upload-release: true\n\n    # These change how the changelog is generated.\n    # They will limit the changelog to changes since last release.\n    is-release: ${{ startsWith(github.ref, 'refs/tags/v') }}\n    release-tag: ${{ github.ref }}\n```\n\n## Why this Exists?\n\nTo simplify deployment.\n\nI maintain a lot of projects in my spare time, a very huge amount.\n\nKeeping workflows in sync across all of them is time consuming; so I decided to make a full\nwrapper around the [auto-changelog][auto-changelog] utility that most of my repositories use.\n\nHopefully it turns useful.\n\n## Contributing\n\nContributions are welcome! If you encounter any issues or have suggestions for improvements,\nplease open an issue or submit a pull request in this repository.\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n\n[auto-changelog]: https://github.com/cookpete/auto-changelog#command-line-options\n[changelog-tests]: ./.github/workflows/test-changelog-workflow.yml\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freloaded-project%2Fdevops-changelog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Freloaded-project%2Fdevops-changelog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freloaded-project%2Fdevops-changelog/lists"}