{"id":15765573,"url":"https://github.com/olivermking/action-release-workflows","last_synced_at":"2025-03-31T10:41:25.865Z","repository":{"id":158384805,"uuid":"623113773","full_name":"OliverMKing/action-release-workflows","owner":"OliverMKing","description":"Reusable workflows for that help for releasing GitHub actions","archived":false,"fork":false,"pushed_at":"2023-07-05T19:21:21.000Z","size":78,"stargazers_count":0,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-05T12:42:51.396Z","etag":null,"topics":["github-actions","github-releases","release","release-automation","reusable-workflows"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OliverMKing.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"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":"2023-04-03T18:12:34.000Z","updated_at":"2023-04-28T20:51:06.000Z","dependencies_parsed_at":null,"dependency_job_id":"e22eb662-108c-449f-89ff-b05b02eb9caa","html_url":"https://github.com/OliverMKing/action-release-workflows","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OliverMKing%2Faction-release-workflows","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OliverMKing%2Faction-release-workflows/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OliverMKing%2Faction-release-workflows/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OliverMKing%2Faction-release-workflows/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OliverMKing","download_url":"https://codeload.github.com/OliverMKing/action-release-workflows/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246457976,"owners_count":20780673,"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-actions","github-releases","release","release-automation","reusable-workflows"],"created_at":"2024-10-04T12:42:50.096Z","updated_at":"2025-03-31T10:41:25.834Z","avatar_url":"https://github.com/OliverMKing.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Release Workflows\n\nRelease Workflows automate the process of creating releases based on the CHANGELOG.md file in the project. \n\n## How it works.\n\nThe release workflow is triggered when changes are pushed to the main branch and there are updates in the CHANELOG.md file. When a new release is initiated, the workflow executes the following steps:\n1. It parses the CHANGELOG.md file to extract the release notes and identifies the most recent version of the release.\n2. Next, it checks if a tag for the latest version already exists. If a tag is found, the subsequent workflows are halted to avoid duplication.\n3. If there is no existing tag for the latest version, a new branch is created from the main branch. The new branch is named as `releases/\u003clatest-release-version\u003e`.\n4. Once the release branch is set up, the workflow publishes the release to the GitHub repository. The release is tagged with the corresponding version number.\n\n## Usage\n\n1. Start by creating a CHANGELOG.md file to record the changes made in each release of your project.\n\n2. Next, create a workflow YAML file in your project that will be triggered whenever a push is made to the main branch with changes in CHANGELOG.md file.\n\n3. Your release.yaml workflow file should follow a structure similar to the one outlined below:\n   \n```\nname: release project\n\non:\n   push:\n      branches:\n         - main\n      paths:\n         - CHANGELOG.md\n   workflow_dispatch:\n\njobs:\n   release:\n      uses: bosesuneha/action-release-workflows/.github/workflows/release_js_project.yaml@main\n      with:\n         changelogPath: ./CHANGELOG.md\n   \n```\nThe `release project` workflow can be triggered in two ways: automatically when changes are made to the CHANGELOG.md file and pushed to the main branch, or manually through the GitHub Actions UI. \n\n\nThe `release` job calls the reusable workflow in `action-release-workflows` and takes as input the path to the CHANELOG.md file.\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Folivermking%2Faction-release-workflows","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Folivermking%2Faction-release-workflows","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Folivermking%2Faction-release-workflows/lists"}