Changelog CI is a GitHub Action that enables a project to automatically generate changelogs

Overview

Changelog CI Banner

GitHub release (latest by date) GitHub Workflow Status GitHub GitHub Marketplace GitHub stars

What is Changelog CI?

Changelog CI is a GitHub Action that enables a project to automatically generate changelogs.

Changelog CI can be triggered on pull_request, workflow_dispatch and any other events that can provide the required inputs. Learn more about events that trigger workflows

The workflow can be configured to perform any (or all) of the following actions:

  • For pull_request event:

    • Generates changelog using Pull Request Titles or Commit Messages made after the last release.
    • Prepends the generated changelog to the CHANGELOG.md/CHANGELOG.rst file.
    • Then Commits the modified CHANGELOG.md/CHANGELOG.rst file to the release pull request branch.
    • Adds a Comment on the release pull request with the generated changelog.
  • For other events:

    • Generate changelog using Pull Request Title or Commit Messages made after the last release.
    • Prepends the generated changelog to the CHANGELOG.md/CHANGELOG.rst file.
    • Then Creates a Pull Request with the CHANGELOG.md/CHANGELOG.rst file changes.

How Does It Work:

Changelog CI uses python and GitHub API to generate changelog for a repository. First, it tries to get the latest release from the repository (If available). Then, it checks all the pull requests / commits merged after the last release using the GitHub API. After that, it parses the data and generates the changelog. It is able to use Markdown or reStructuredText to generate Changelog. Finally, It writes the generated changelog at the beginning of the CHANGELOG.md/CHANGELOG.rst (or user-provided filename) file. In addition to that, if a user provides a configuration file (JSON/YAML), Changelog CI parses the user-provided configuration file and renders the changelog according to users configuration. Then, if the workflow run was triggered by a pull_request event, the changes are committed and/or commented to the release Pull request, otherwise a new Pull Request is created with the changes.

Usage:

  • To use this Action on a pull_request event, The pull request title must match with the default pull_request_title_regex or the user-provided pull_request_title_regex from the config file.

  • To use this Action on any other events, You must provide release_version as an input to the workflow. It can be provided using workflow_dispatch events input option or from any other sources.

Basic Integration (for pull_request event): To integrate Changelog CI on your repositories, Put .github/workflows/changelog-ci.yml file in your repository with the following content:

name: Changelog CI

on:
  pull_request:
    types: [ opened ]

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/[email protected]

      - name: Run Changelog CI
        uses: saadmk11/[email protected]

Workflow input options

These are the inputs that can be provided on the workflow.

Name Required Description Default
changelog_filename No Name of the changelog file (Any file name with .md or .rst extension) CHANGELOG.md
config_file No User configuration file path (configuration file can be in JSON or YAML format) null
committer_username No Name of the user who will commit the changes to GitHub github-actions[bot]
committer_email No Email Address of the user who will commit the changes to GitHub github-actions[bot]@users.noreply.github.com
release_version No (Required if workflow run is not triggered by a pull_request event) The release version that will be used on the generated Changelog null
github_token No GITHUB_TOKEN provided by the workflow run or Personal Access Token (PAT) github.token

Workflow with All Options:

name: Changelog CI

on:
  pull_request:
    types: [ opened ]

  # Optionally you can use `workflow_dispatch` to run Changelog CI Manually
  workflow_dispatch:
  inputs:
    release_version:
      description: 'Set Release Version'
      required: true

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      # Checks-out your repository
      - uses: actions/[email protected]

      - name: Run Changelog CI
        uses: saadmk11/[email protected]
        with:
          # Optional, you can provide any name for your changelog file,
          # We currently support Markdown (.md) and reStructuredText (.rst) files
          # defaults to `CHANGELOG.md` if not provided.
          changelog_filename: CHANGELOG.rst
          # Optional, only required when you want more customization
          # e.g: group your changelog by labels with custom titles,
          # different version prefix, pull request title and version number regex etc.
          # config file can be in JSON or YAML format.
          config_file: changelog-ci-config.json
          # Optional, This will be used to configure git
          # defaults to `github-actions[bot]` if not provided.
          committer_username: 'test'
          committer_email: '[email protected]'
          # Optional, only required when you want to run Changelog CI 
          # on an event other than `pull_request` event.
          # In this example `release_version` is fetched from `workflow_dispatch` events input.
          # You can use any other method to fetch the release version
          # such as environment variable or from output of another action
          release_version: ${{ github.event.inputs.release_version }}
          # Optional
          github_token: ${{ secrets.GITHUB_TOKEN }}

Note: To Enable Commenting, Disable Committing, Group Changelog Items, Use Commit Messages and some other options, see Configuration to learn more.

Changelog CI Badge:

![Changelog CI Status](https://github.com/
   /
   
    /workflows/Changelog%20CI/badge.svg)
   
  

Output:

Changelog CI Status

Configuration

Using an optional configuration file

Changelog CI is will run perfectly fine without including a configuration file. If a user seeks to modify the default behaviors of Changelog CI, they can do so by adding a JSON or YAML config file to the project. For example:

  • Including JSON file changelog-ci-config.json:

    with:
      config_file: changelog-ci-config.json
  • Including YAML file changelog-ci-config.yaml:

    with:
      config_file: changelog-ci-config.yaml

Configuration File options

These are the options that can be provided on the config_file.

Name Required Description Default Options
changelog_type No pull_request option will generate changelog using pull request title. commit_message option will generate changelog using commit messages. pull_request pull_request or commit_message
header_prefix No The prefix before the version number. e.g. version: in Version: 1.0.2 Version:
commit_changelog No If it's set to true then Changelog CI will commit the changes to the release pull request. (A pull Request will be created with the changes if the workflow run is not triggered by a pull_request event) true true or false
comment_changelog No If it's set to true then Changelog CI will comment the generated changelog on the release pull request. (Only applicable for workflow runs triggered by a pull_request event) false true or false
pull_request_title_regex No If the pull request title matches with this regex Changelog CI will generate changelog for it. Otherwise, it will skip the changelog generation. (Only applicable for workflow runs triggered by a pull_request event) ^(?i:release)
version_regex No This regex is used to find the version name/number (e.g. 1.0.2, v2.0.2) from the pull request title. in case of no match, changelog generation will be skipped. (Only applicable for workflow runs triggered by a pull_request event) SemVer
group_config No By adding this you can group changelog items by your repository labels with custom titles. null
include_unlabeled_changes No if set to false the generated changelog will not contain the Pull Requests that are unlabeled or the labels are not on the group_config option. This option will only be used if the group_config option is added and the changelog_type option is set to pull_request. true true or false
unlabeled_group_title No This option will set the title of the unlabeled changes. This option will only be used if the include_unlabeled_changes option is set to true, group_config option is added and the changelog_type option is set to pull_request. Other Changes

Example Configuration File

Written in JSON:

{
  "changelog_type": "commit_message",
  "header_prefix": "Version:",
  "commit_changelog": true,
  "comment_changelog": true,
  "include_unlabeled_changes": true,
  "unlabeled_group_title": "Unlabeled Changes",
  "pull_request_title_regex": "^Release",
  "version_regex": "v?([0-9]{1,2})+[.]+([0-9]{1,2})+[.]+([0-9]{1,2})\\s\\(\\d{1,2}-\\d{1,2}-\\d{4}\\)",
  "group_config": [
    {
      "title": "Bug Fixes",
      "labels": ["bug", "bugfix"]
    },
    {
      "title": "Code Improvements",
      "labels": ["improvements", "enhancement"]
    },
    {
      "title": "New Features",
      "labels": ["feature"]
    },
    {
      "title": "Documentation Updates",
      "labels": ["docs", "documentation", "doc"]
    }
  ]
}

Written in YAML:

changelog_type: 'commit_message' # or 'pull_request'
header_prefix: 'Version:'
commit_changelog: true
comment_changelog: true
include_unlabeled_changes: true
unlabeled_group_title: 'Unlabeled Changes'
pull_request_title_regex: '^Release'
version_regex: 'v?([0-9]{1,2})+[.]+([0-9]{1,2})+[.]+([0-9]{1,2})\s\(\d{1,2}-\d{1,2}-\d{4}\)'
group_config:
  - title: Bug Fixes
    labels:
      - bug
      - bugfix
  - title: Code Improvements
    labels:
      - improvements
      - enhancement
  - title: New Features
    labels:
      - feature
  - title: Documentation Updates
    labels:
      - docs
      - documentation
      - doc
  • In this Example version_regex matches any version number including date ( e.g: v1.1.0 (01-23-2018)) in the pull request title. If you don't provide any regex Changelog CI will use default SemVer pattern. e.g. 1.0.1 , v1.0.2.

  • Here the changelog will be generated using commit messages because of changelog_type: 'commit_message'.

  • Here pull_request_title_regex will match any pull request title that starts with Release you can match Any Pull Request Title by adding this pull_request_title_regex": ".*",

See this example output with group_config

See this example output without group_config

Changelog CI in Action (Comment & Commit)

Changelog CI

Example Changelog Output using config file (Pull Request):

Version: v2.1.0 (02-25-2020)

Bug Fixes

  • #53: Keep updating the readme
  • #54: Again updating the Same Readme file

New Features

  • #68: Update README.md

Documentation Updates

  • #66: Docs update

Version: v1.1.0 (01-01-2020)

Bug Fixes

  • #53: Keep updating the readme
  • #54: Again updating the Same Readme file

Documentation Updates

  • #66: Docs update

Example Changelog Output using config file (Commit Messages):

Version: v2.1.0 (02-25-2020)

  • 123456: Keep updating the readme
  • 123456: Again updating the Same Readme file
  • 123456: Update README.md
  • 123456: Docs update

Version: v1.1.0 (01-01-2020)

  • 123456: Keep updating the readme
  • 123456: Again updating the Same Readme file
  • 123456: Docs update

Example Changelog Output without using config file:

Version: 0.0.2

  • #53: Keep updating the readme
  • #54: Again updating the Same Readme file
  • #55: README update

Version: 0.0.1

  • #43: It feels like testing never ends
  • #35: Testing again and again
  • #44: This is again another test, getting tired
  • #37: This is again another test

License

The code in this project is released under the MIT License.

Comments
  •  fatal: empty string is not a valid pathspec. please use . instead if you meant to match all paths

    fatal: empty string is not a valid pathspec. please use . instead if you meant to match all paths

    I am facing an issue with using this action with an example flow from the readme. Note that

    • It is a private repo.
    • I am using triggers when an issue is changed.
    • We don't have a master branch it named main instead.
    name: Changelog CI
    
    # Controls when the action will run. Triggers the workflow on a pull request
    on:
      pull_request:
        types: [opened, reopened]
    
      issues:
        types: [opened, edited]
    
    jobs:
      build:
        runs-on: ubuntu-latest
    
        steps:
          # Checks-out your repository
          - uses: actions/[email protected]
    
          - name: Run Changelog CI
            uses: saadmk11/[email protected]
            with:
              changelog_filename: CHANGELOG.md
              config_file: changelog.json
            # Add this if you are using it on a private repository
            # Or if you have turned on commenting through the config file.
            env:
              GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
    
    

    changlog.json

    {
      "header_prefix": "Version:",
      "commit_changelog": true,
      "comment_changelog": true,
      "pull_request_title_regex": "^Release",
      "version_regex": "v?([0-9]{1,2})+[.]+([0-9]{1,2})+[.]+([0-9]{1,2})\\s\\(\\d{1,2}-\\d{1,2}-\\d{4}\\)",
      "group_config": [
        {
          "title": "Bug Fixes",
          "labels": ["bug", "bugfix"]
        },
        {
          "title": "Code Improvements",
          "labels": ["improvements", "enhancement"]
        },
        {
          "title": "New Features",
          "labels": ["feature"]
        },
        {
          "title": "Documentation Updates",
          "labels": ["docs", "documentation", "doc"]
        }
      ]
    }
    
    

    image

    logs

    2021-02-22T00:52:23.9245799Z ##[section]Starting: Request a runner to run this job
    2021-02-22T00:52:23.9537536Z Can't find any online and idle self-hosted runner in current repository that matches the required labels: 'ubuntu-latest'
    2021-02-22T00:52:24.0829193Z Can't find any online and idle self-hosted runner in current repository's organization/enterprise account that matches the required labels: 'ubuntu-latest'
    2021-02-22T00:52:26.3873589Z Found online and idle hosted runner in current repository's enterprise account that matches the required labels: 'ubuntu-latest'
    2021-02-22T00:52:26.5537826Z ##[section]Finishing: Request a runner to run this job
    2021-02-22T00:52:33.5708672Z Current runner version: '2.277.1'
    2021-02-22T00:52:33.5788063Z ##[group]Operating System
    2021-02-22T00:52:33.5788980Z Ubuntu
    2021-02-22T00:52:33.5789388Z 20.04.2
    2021-02-22T00:52:33.5789803Z LTS
    2021-02-22T00:52:33.5790245Z ##[endgroup]
    2021-02-22T00:52:33.5790741Z ##[group]Virtual Environment
    2021-02-22T00:52:33.5791477Z Environment: ubuntu-20.04
    2021-02-22T00:52:33.5792296Z Version: 20210216.1
    2021-02-22T00:52:33.5793370Z Included Software: https://github.com/actions/virtual-environments/blob/ubuntu20/20210216.1/images/linux/Ubuntu2004-README.md
    2021-02-22T00:52:33.5794381Z ##[endgroup]
    2021-02-22T00:52:33.5797018Z ##[group]GITHUB_TOKEN Permissions
    2021-02-22T00:52:33.5798299Z Actions: write
    2021-02-22T00:52:33.5798869Z Checks: write
    2021-02-22T00:52:33.5799499Z Contents: write
    2021-02-22T00:52:33.5800057Z Deployments: write
    2021-02-22T00:52:33.5800646Z Issues: write
    2021-02-22T00:52:33.5801718Z Metadata: read
    2021-02-22T00:52:33.5802358Z OrganizationPackages: write
    2021-02-22T00:52:33.5803140Z Packages: write
    2021-02-22T00:52:33.5803817Z PullRequests: write
    2021-02-22T00:52:33.5823791Z RepositoryProjects: write
    2021-02-22T00:52:33.5824690Z SecurityEvents: write
    2021-02-22T00:52:33.5825492Z Statuses: write
    2021-02-22T00:52:33.5826188Z ##[endgroup]
    2021-02-22T00:52:33.5829968Z Prepare workflow directory
    2021-02-22T00:52:33.6614231Z Prepare all required actions
    2021-02-22T00:52:33.6627150Z Getting action download info
    2021-02-22T00:52:33.9069311Z Download action repository 'actions/[email protected]'
    2021-02-22T00:52:36.5461613Z Download action repository 'saadmk11/[email protected]'
    2021-02-22T00:52:36.9788687Z ##[group]Build container for action use: '/home/runner/work/_actions/saadmk11/changelog-ci/v0.7.0/Dockerfile'.
    2021-02-22T00:52:36.9868202Z ##[command]/usr/bin/docker build -t 5588e4:aba28d9fcbcc4b9393180b254a70adcf -f "/home/runner/work/_actions/saadmk11/changelog-ci/v0.7.0/Dockerfile" "/home/runner/work/_actions/saadmk11/changelog-ci/v0.7.0"
    2021-02-22T00:52:38.5932664Z Sending build context to Docker daemon  43.01kB
    2021-02-22T00:52:38.5933433Z 
    2021-02-22T00:52:38.6539303Z Step 1/12 : FROM python:3.7
    2021-02-22T00:52:39.0554132Z 3.7: Pulling from library/python
    2021-02-22T00:52:39.3176328Z 0ecb575e629c: Already exists
    2021-02-22T00:52:39.3382048Z 7467d1831b69: Already exists
    2021-02-22T00:52:40.0472368Z feab2c490a3c: Already exists
    2021-02-22T00:52:40.0474465Z f15a0f46f8c3: Already exists
    2021-02-22T00:52:40.0474951Z 937782447ff6: Already exists
    2021-02-22T00:52:40.0475413Z e78b7aaaab2c: Pulling fs layer
    2021-02-22T00:52:40.0476354Z d6bffa7c00e3: Pulling fs layer
    2021-02-22T00:52:40.0477094Z 20e485dc4919: Pulling fs layer
    2021-02-22T00:52:40.0477591Z 640e66c20a5d: Pulling fs layer
    2021-02-22T00:52:40.0478007Z 640e66c20a5d: Waiting
    2021-02-22T00:52:40.0478459Z 20e485dc4919: Verifying Checksum
    2021-02-22T00:52:40.0479102Z 20e485dc4919: Download complete
    2021-02-22T00:52:40.0479826Z 640e66c20a5d: Verifying Checksum
    2021-02-22T00:52:40.0480287Z 640e66c20a5d: Download complete
    2021-02-22T00:52:40.0481018Z d6bffa7c00e3: Verifying Checksum
    2021-02-22T00:52:40.0481895Z d6bffa7c00e3: Download complete
    2021-02-22T00:52:40.0482422Z e78b7aaaab2c: Download complete
    2021-02-22T00:52:40.0485993Z e78b7aaaab2c: Pull complete
    2021-02-22T00:52:41.0449778Z d6bffa7c00e3: Pull complete
    2021-02-22T00:52:41.0451166Z 20e485dc4919: Pull complete
    2021-02-22T00:52:41.0691627Z 640e66c20a5d: Pull complete
    2021-02-22T00:52:41.0845424Z Digest: sha256:0eabcfa9294fba2214278cc5419ac0f2c59103052400dc4fe5499b66e4c32cf7
    2021-02-22T00:52:41.0967080Z Status: Downloaded newer image for python:3.7
    2021-02-22T00:52:41.1027855Z  ---> 9c9ca311176f
    2021-02-22T00:52:41.1047019Z Step 2/12 : LABEL "com.github.actions.name"="Changelog CI"
    2021-02-22T00:52:43.5423522Z  ---> Running in 4ad61c2c3748
    2021-02-22T00:52:48.5166960Z Removing intermediate container 4ad61c2c3748
    2021-02-22T00:52:48.5167592Z  ---> b800b0bd72c5
    2021-02-22T00:52:48.5176590Z Step 3/12 : LABEL "com.github.actions.description"="This is an action that commits on a release pull request with the changelog"
    2021-02-22T00:52:48.6099451Z  ---> Running in 8fd65bfdf09e
    2021-02-22T00:52:49.8362768Z Removing intermediate container 8fd65bfdf09e
    2021-02-22T00:52:49.8363383Z  ---> 828283f18607
    2021-02-22T00:52:49.8363902Z Step 4/12 : LABEL "com.github.actions.icon"="clock"
    2021-02-22T00:52:49.9372606Z  ---> Running in ed1cd93d8b97
    2021-02-22T00:52:51.1537645Z Removing intermediate container ed1cd93d8b97
    2021-02-22T00:52:51.1542288Z  ---> 4b68bd09c30a
    2021-02-22T00:52:51.1542957Z Step 5/12 : LABEL "com.github.actions.color"="blue"
    2021-02-22T00:52:51.2460941Z  ---> Running in a5d75049ea6a
    2021-02-22T00:52:52.4419156Z Removing intermediate container a5d75049ea6a
    2021-02-22T00:52:52.4420622Z  ---> 99922ccd8bbf
    2021-02-22T00:52:52.4421945Z Step 6/12 : LABEL "repository"="https://github.com/saadmk11/changelog-ci"
    2021-02-22T00:52:52.5506793Z  ---> Running in 6e21f5c8a2aa
    2021-02-22T00:52:53.7197268Z Removing intermediate container 6e21f5c8a2aa
    2021-02-22T00:52:53.7198125Z  ---> d08e6e5d939c
    2021-02-22T00:52:53.7198761Z Step 7/12 : LABEL "homepage"="https://github.com/saadmk11/changelog-ci"
    2021-02-22T00:52:53.8165741Z  ---> Running in 79941441d318
    2021-02-22T00:52:55.0164867Z Removing intermediate container 79941441d318
    2021-02-22T00:52:55.0165454Z  ---> 8507da503d5b
    2021-02-22T00:52:55.0165902Z Step 8/12 : LABEL "maintainer"="saadmk11"
    2021-02-22T00:52:55.1253370Z  ---> Running in 3314423fd2f2
    2021-02-22T00:52:56.3607220Z Removing intermediate container 3314423fd2f2
    2021-02-22T00:52:56.3608548Z  ---> c33f3ba44297
    2021-02-22T00:52:56.3609337Z Step 9/12 : RUN pip install requests
    2021-02-22T00:52:56.5320615Z  ---> Running in c4c0e0505fd1
    2021-02-22T00:52:59.5188811Z Collecting requests
    2021-02-22T00:52:59.5794218Z   Downloading requests-2.25.1-py2.py3-none-any.whl (61 kB)
    2021-02-22T00:52:59.6528131Z Collecting chardet<5,>=3.0.2
    2021-02-22T00:52:59.6688667Z   Downloading chardet-4.0.0-py2.py3-none-any.whl (178 kB)
    2021-02-22T00:52:59.7700607Z Collecting idna<3,>=2.5
    2021-02-22T00:52:59.7843596Z   Downloading idna-2.10-py2.py3-none-any.whl (58 kB)
    2021-02-22T00:52:59.9132833Z Collecting urllib3<1.27,>=1.21.1
    2021-02-22T00:52:59.9280270Z   Downloading urllib3-1.26.3-py2.py3-none-any.whl (137 kB)
    2021-02-22T00:53:00.0464078Z Collecting certifi>=2017.4.17
    2021-02-22T00:53:00.0630026Z   Downloading certifi-2020.12.5-py2.py3-none-any.whl (147 kB)
    2021-02-22T00:53:00.1828722Z Installing collected packages: urllib3, idna, chardet, certifi, requests
    2021-02-22T00:53:00.6900758Z Successfully installed certifi-2020.12.5 chardet-4.0.0 idna-2.10 requests-2.25.1 urllib3-1.26.3
    2021-02-22T00:53:03.1236933Z Removing intermediate container c4c0e0505fd1
    2021-02-22T00:53:03.1238151Z  ---> f85fece99450
    2021-02-22T00:53:03.1239005Z Step 10/12 : COPY ./scripts/changelog-ci.py /changelog-ci.py
    2021-02-22T00:53:04.5238699Z  ---> 25d8760d6d8a
    2021-02-22T00:53:04.5239257Z Step 11/12 : RUN ["chmod", "+x", "/changelog-ci.py"]
    2021-02-22T00:53:04.5944334Z  ---> Running in 3904cacd0fff
    2021-02-22T00:53:06.4373739Z Removing intermediate container 3904cacd0fff
    2021-02-22T00:53:06.4374390Z  ---> 2db6e8eca561
    2021-02-22T00:53:06.4374939Z Step 12/12 : ENTRYPOINT ["python", "/changelog-ci.py"]
    2021-02-22T00:53:07.0538624Z  ---> Running in 4e4c87f9d0b7
    2021-02-22T00:53:07.7654951Z Removing intermediate container 4e4c87f9d0b7
    2021-02-22T00:53:07.7655859Z  ---> b909bc16bdcc
    2021-02-22T00:53:07.7657302Z Successfully built b909bc16bdcc
    2021-02-22T00:53:07.8316300Z Successfully tagged 5588e4:aba28d9fcbcc4b9393180b254a70adcf
    2021-02-22T00:53:07.8352222Z ##[endgroup]
    2021-02-22T00:53:07.8649288Z ##[group]Run actions/[email protected]
    2021-02-22T00:53:07.8649826Z with:
    2021-02-22T00:53:07.8650234Z   repository: projectarcher/nlu
    2021-02-22T00:53:07.8651129Z   token: ***
    2021-02-22T00:53:07.8651493Z   ssh-strict: true
    2021-02-22T00:53:07.8651949Z   persist-credentials: true
    2021-02-22T00:53:07.8652641Z   clean: true
    2021-02-22T00:53:07.8653023Z   fetch-depth: 1
    2021-02-22T00:53:07.8653523Z   lfs: false
    2021-02-22T00:53:07.8654129Z   submodules: false
    2021-02-22T00:53:07.8654623Z ##[endgroup]
    2021-02-22T00:53:09.2733546Z Syncing repository: projectarcher/nlu
    2021-02-22T00:53:09.3064527Z ##[group]Getting Git version info
    2021-02-22T00:53:09.3065934Z Working directory is '/home/runner/work/nlu/nlu'
    2021-02-22T00:53:09.3123331Z [command]/usr/bin/git version
    2021-02-22T00:53:09.5316735Z git version 2.30.0
    2021-02-22T00:53:09.5349716Z ##[endgroup]
    2021-02-22T00:53:09.5357644Z Deleting the contents of '/home/runner/work/nlu/nlu'
    2021-02-22T00:53:09.5364735Z ##[group]Initializing the repository
    2021-02-22T00:53:09.5370873Z [command]/usr/bin/git init /home/runner/work/nlu/nlu
    2021-02-22T00:53:09.5637983Z hint: Using 'master' as the name for the initial branch. This default branch name
    2021-02-22T00:53:09.5639390Z hint: is subject to change. To configure the initial branch name to use in all
    2021-02-22T00:53:09.5640719Z hint: of your new repositories, which will suppress this warning, call:
    2021-02-22T00:53:09.5642180Z hint: 
    2021-02-22T00:53:09.5643408Z hint: 	git config --global init.defaultBranch <name>
    2021-02-22T00:53:09.5644041Z hint: 
    2021-02-22T00:53:09.5644997Z hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
    2021-02-22T00:53:09.5646118Z hint: 'development'. The just-created branch can be renamed via this command:
    2021-02-22T00:53:09.5646871Z hint: 
    2021-02-22T00:53:09.5647594Z hint: 	git branch -m <name>
    2021-02-22T00:53:09.5652403Z Initialized empty Git repository in /home/runner/work/nlu/nlu/.git/
    2021-02-22T00:53:09.5663292Z [command]/usr/bin/git remote add origin https://github.com/projectarcher/nlu
    2021-02-22T00:53:09.5758147Z ##[endgroup]
    2021-02-22T00:53:09.5759548Z ##[group]Disabling automatic garbage collection
    2021-02-22T00:53:09.5769577Z [command]/usr/bin/git config --local gc.auto 0
    2021-02-22T00:53:09.5844405Z ##[endgroup]
    2021-02-22T00:53:09.5850357Z ##[group]Setting up auth
    2021-02-22T00:53:09.5858838Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
    2021-02-22T00:53:09.5895355Z [command]/usr/bin/git submodule foreach --recursive git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :
    2021-02-22T00:53:09.8769845Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
    2021-02-22T00:53:09.8816431Z [command]/usr/bin/git submodule foreach --recursive git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :
    2021-02-22T00:53:09.9086351Z [command]/usr/bin/git config --local http.https://github.com/.extraheader AUTHORIZATION: basic ***
    2021-02-22T00:53:09.9136228Z ##[endgroup]
    2021-02-22T00:53:09.9140725Z ##[group]Fetching the repository
    2021-02-22T00:53:09.9148224Z [command]/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --progress --no-recurse-submodules --depth=1 origin +e1fdc3e92b075eb61ffb4f6dd0ed71a887ac6ca3:refs/remotes/origin/main
    2021-02-22T00:53:10.2539326Z remote: Enumerating objects: 52, done.        
    2021-02-22T00:53:10.2541117Z remote: Counting objects:   1% (1/52)        
    2021-02-22T00:53:10.2543626Z remote: Counting objects:   3% (2/52)        
    2021-02-22T00:53:10.2544667Z remote: Counting objects:   5% (3/52)        
    2021-02-22T00:53:10.2546087Z remote: Counting objects:   7% (4/52)        
    2021-02-22T00:53:10.2548498Z remote: Counting objects:   9% (5/52)        
    2021-02-22T00:53:10.2549836Z remote: Counting objects:  11% (6/52)        
    2021-02-22T00:53:10.2556125Z remote: Counting objects:  13% (7/52)        
    2021-02-22T00:53:10.2557043Z remote: Counting objects:  15% (8/52)        
    2021-02-22T00:53:10.2557666Z remote: Counting objects:  17% (9/52)        
    2021-02-22T00:53:10.2558372Z remote: Counting objects:  19% (10/52)        
    2021-02-22T00:53:10.2558987Z remote: Counting objects:  21% (11/52)        
    2021-02-22T00:53:10.2559528Z remote: Counting objects:  23% (12/52)        
    2021-02-22T00:53:10.2560143Z remote: Counting objects:  25% (13/52)        
    2021-02-22T00:53:10.2560687Z remote: Counting objects:  26% (14/52)        
    2021-02-22T00:53:10.2561680Z remote: Counting objects:  28% (15/52)        
    2021-02-22T00:53:10.2562483Z remote: Counting objects:  30% (16/52)        
    2021-02-22T00:53:10.2563257Z remote: Counting objects:  32% (17/52)        
    2021-02-22T00:53:10.2563882Z remote: Counting objects:  34% (18/52)        
    2021-02-22T00:53:10.2564568Z remote: Counting objects:  36% (19/52)        
    2021-02-22T00:53:10.2565158Z remote: Counting objects:  38% (20/52)        
    2021-02-22T00:53:10.2565716Z remote: Counting objects:  40% (21/52)        
    2021-02-22T00:53:10.2566299Z remote: Counting objects:  42% (22/52)        
    2021-02-22T00:53:10.2566834Z remote: Counting objects:  44% (23/52)        
    2021-02-22T00:53:10.2567442Z remote: Counting objects:  46% (24/52)        
    2021-02-22T00:53:10.2568234Z remote: Counting objects:  48% (25/52)        
    2021-02-22T00:53:10.2570279Z remote: Counting objects:  50% (26/52)        
    2021-02-22T00:53:10.2571481Z remote: Counting objects:  51% (27/52)        
    2021-02-22T00:53:10.2572238Z remote: Counting objects:  53% (28/52)        
    2021-02-22T00:53:10.2572852Z remote: Counting objects:  55% (29/52)        
    2021-02-22T00:53:10.2573432Z remote: Counting objects:  57% (30/52)        
    2021-02-22T00:53:10.2574229Z remote: Counting objects:  59% (31/52)        
    2021-02-22T00:53:10.2574825Z remote: Counting objects:  61% (32/52)        
    2021-02-22T00:53:10.2575443Z remote: Counting objects:  63% (33/52)        
    2021-02-22T00:53:10.2575924Z remote: Counting objects:  65% (34/52)        
    2021-02-22T00:53:10.2576462Z remote: Counting objects:  67% (35/52)        
    2021-02-22T00:53:10.2577099Z remote: Counting objects:  69% (36/52)        
    2021-02-22T00:53:10.2577678Z remote: Counting objects:  71% (37/52)        
    2021-02-22T00:53:10.2578195Z remote: Counting objects:  73% (38/52)        
    2021-02-22T00:53:10.2578833Z remote: Counting objects:  75% (39/52)        
    2021-02-22T00:53:10.2579416Z remote: Counting objects:  76% (40/52)        
    2021-02-22T00:53:10.2579979Z remote: Counting objects:  78% (41/52)        
    2021-02-22T00:53:10.2580577Z remote: Counting objects:  80% (42/52)        
    2021-02-22T00:53:10.2581112Z remote: Counting objects:  82% (43/52)        
    2021-02-22T00:53:10.2581692Z remote: Counting objects:  84% (44/52)        
    2021-02-22T00:53:10.2582226Z remote: Counting objects:  86% (45/52)        
    2021-02-22T00:53:10.2582835Z remote: Counting objects:  88% (46/52)        
    2021-02-22T00:53:10.2583390Z remote: Counting objects:  90% (47/52)        
    2021-02-22T00:53:10.2584053Z remote: Counting objects:  92% (48/52)        
    2021-02-22T00:53:10.2584929Z remote: Counting objects:  94% (49/52)        
    2021-02-22T00:53:10.2585552Z remote: Counting objects:  96% (50/52)        
    2021-02-22T00:53:10.2586233Z remote: Counting objects:  98% (51/52)        
    2021-02-22T00:53:10.2586794Z remote: Counting objects: 100% (52/52)        
    2021-02-22T00:53:10.2587442Z remote: Counting objects: 100% (52/52), done.        
    2021-02-22T00:53:10.2588029Z remote: Compressing objects:   2% (1/45)        
    2021-02-22T00:53:10.2588668Z remote: Compressing objects:   4% (2/45)        
    2021-02-22T00:53:10.2589248Z remote: Compressing objects:   6% (3/45)        
    2021-02-22T00:53:10.2589828Z remote: Compressing objects:   8% (4/45)        
    2021-02-22T00:53:10.2590507Z remote: Compressing objects:  11% (5/45)        
    2021-02-22T00:53:10.2591961Z remote: Compressing objects:  13% (6/45)        
    2021-02-22T00:53:10.2592786Z remote: Compressing objects:  15% (7/45)        
    2021-02-22T00:53:10.2593507Z remote: Compressing objects:  17% (8/45)        
    2021-02-22T00:53:10.2594157Z remote: Compressing objects:  20% (9/45)        
    2021-02-22T00:53:10.2594807Z remote: Compressing objects:  22% (10/45)        
    2021-02-22T00:53:10.2595445Z remote: Compressing objects:  24% (11/45)        
    2021-02-22T00:53:10.2596031Z remote: Compressing objects:  26% (12/45)        
    2021-02-22T00:53:10.2596659Z remote: Compressing objects:  28% (13/45)        
    2021-02-22T00:53:10.2716163Z remote: Compressing objects:  31% (14/45)        
    2021-02-22T00:53:10.2716940Z remote: Compressing objects:  33% (15/45)        
    2021-02-22T00:53:10.2717496Z remote: Compressing objects:  35% (16/45)        
    2021-02-22T00:53:10.2718055Z remote: Compressing objects:  37% (17/45)        
    2021-02-22T00:53:10.2718808Z remote: Compressing objects:  40% (18/45)        
    2021-02-22T00:53:10.2719438Z remote: Compressing objects:  42% (19/45)        
    2021-02-22T00:53:10.2719943Z remote: Compressing objects:  44% (20/45)        
    2021-02-22T00:53:10.2720680Z remote: Compressing objects:  46% (21/45)        
    2021-02-22T00:53:10.2721447Z remote: Compressing objects:  48% (22/45)        
    2021-02-22T00:53:10.2722023Z remote: Compressing objects:  51% (23/45)        
    2021-02-22T00:53:10.2722651Z remote: Compressing objects:  53% (24/45)        
    2021-02-22T00:53:10.2723156Z remote: Compressing objects:  55% (25/45)        
    2021-02-22T00:53:10.2723668Z remote: Compressing objects:  57% (26/45)        
    2021-02-22T00:53:10.2767987Z remote: Compressing objects:  60% (27/45)        
    2021-02-22T00:53:10.2776483Z remote: Compressing objects:  62% (28/45)        
    2021-02-22T00:53:10.2777066Z remote: Compressing objects:  64% (29/45)        
    2021-02-22T00:53:10.2777612Z remote: Compressing objects:  66% (30/45)        
    2021-02-22T00:53:10.2778160Z remote: Compressing objects:  68% (31/45)        
    2021-02-22T00:53:10.2778736Z remote: Compressing objects:  71% (32/45)        
    2021-02-22T00:53:10.2779280Z remote: Compressing objects:  73% (33/45)        
    2021-02-22T00:53:10.2779849Z remote: Compressing objects:  75% (34/45)        
    2021-02-22T00:53:10.2780401Z remote: Compressing objects:  77% (35/45)        
    2021-02-22T00:53:10.2780961Z remote: Compressing objects:  80% (36/45)        
    2021-02-22T00:53:10.2782429Z remote: Compressing objects:  82% (37/45)        
    2021-02-22T00:53:10.2786245Z remote: Compressing objects:  84% (38/45)        
    2021-02-22T00:53:10.2786770Z remote: Compressing objects:  86% (39/45)        
    2021-02-22T00:53:10.2787297Z remote: Compressing objects:  88% (40/45)        
    2021-02-22T00:53:10.2787948Z remote: Compressing objects:  91% (41/45)        
    2021-02-22T00:53:10.2788469Z remote: Compressing objects:  93% (42/45)        
    2021-02-22T00:53:10.2789002Z remote: Compressing objects:  95% (43/45)        
    2021-02-22T00:53:10.2789558Z remote: Compressing objects:  97% (44/45)        
    2021-02-22T00:53:10.2790085Z remote: Compressing objects: 100% (45/45)        
    2021-02-22T00:53:10.2790639Z remote: Compressing objects: 100% (45/45), done.        
    2021-02-22T00:53:10.2793069Z remote: Total 52 (delta 2), reused 30 (delta 0), pack-reused 0        
    2021-02-22T00:53:10.3412388Z From https://github.com/projectarcher/nlu
    2021-02-22T00:53:10.3414083Z  * [new ref]         e1fdc3e92b075eb61ffb4f6dd0ed71a887ac6ca3 -> origin/main
    2021-02-22T00:53:10.3497135Z ##[endgroup]
    2021-02-22T00:53:10.3497939Z ##[group]Determining the checkout info
    2021-02-22T00:53:10.3499229Z ##[endgroup]
    2021-02-22T00:53:10.3499788Z ##[group]Checking out the ref
    2021-02-22T00:53:10.3505765Z [command]/usr/bin/git checkout --progress --force -B main refs/remotes/origin/main
    2021-02-22T00:53:10.3701513Z Switched to a new branch 'main'
    2021-02-22T00:53:10.3702770Z Branch 'main' set up to track remote branch 'main' from 'origin'.
    2021-02-22T00:53:10.3703661Z ##[endgroup]
    2021-02-22T00:53:10.3793051Z [command]/usr/bin/git log -1 --format='%H'
    2021-02-22T00:53:10.3822969Z 'e1fdc3e92b075eb61ffb4f6dd0ed71a887ac6ca3'
    2021-02-22T00:53:10.4063730Z ##[group]Run saadmk11/[email protected]
    2021-02-22T00:53:10.4064225Z with:
    2021-02-22T00:53:10.4065069Z   changelog_filename: CHANGELOG.md
    2021-02-22T00:53:10.4065538Z   config_file: changelog.json
    2021-02-22T00:53:10.4066046Z   committer_username: github-actions[bot]
    2021-02-22T00:53:10.4066731Z   committer_email: 41898282+github-actions[bot]@users.noreply.github.com
    2021-02-22T00:53:10.4067279Z env:
    2021-02-22T00:53:10.4068492Z   GITHUB_TOKEN: ***
    2021-02-22T00:53:10.4068843Z ##[endgroup]
    2021-02-22T00:53:10.4109648Z ##[command]/usr/bin/docker run --name e4aba28d9fcbcc4b9393180b254a70adcf_1ab439 --label 5588e4 --workdir /github/workspace --rm -e GITHUB_TOKEN -e INPUT_CHANGELOG_FILENAME -e INPUT_CONFIG_FILE -e INPUT_COMMITTER_USERNAME -e INPUT_COMMITTER_EMAIL -e HOME -e GITHUB_JOB -e GITHUB_REF -e GITHUB_SHA -e GITHUB_REPOSITORY -e GITHUB_REPOSITORY_OWNER -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_RETENTION_DAYS -e GITHUB_ACTOR -e GITHUB_WORKFLOW -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e GITHUB_EVENT_NAME -e GITHUB_SERVER_URL -e GITHUB_API_URL -e GITHUB_GRAPHQL_URL -e GITHUB_WORKSPACE -e GITHUB_ACTION -e GITHUB_EVENT_PATH -e GITHUB_ACTION_REPOSITORY -e GITHUB_ACTION_REF -e GITHUB_PATH -e GITHUB_ENV -e RUNNER_OS -e RUNNER_TOOL_CACHE -e RUNNER_TEMP -e RUNNER_WORKSPACE -e ACTIONS_RUNTIME_URL -e ACTIONS_RUNTIME_TOKEN -e ACTIONS_CACHE_URL -e GITHUB_ACTIONS=true -e CI=true -v "/var/run/docker.sock":"/var/run/docker.sock" -v "/home/runner/work/_temp/_github_home":"/github/home" -v "/home/runner/work/_temp/_github_workflow":"/github/workflow" -v "/home/runner/work/_temp/_runner_file_commands":"/github/file_commands" -v "/home/runner/work/nlu/nlu":"/github/workspace" 5588e4:aba28d9fcbcc4b9393180b254a70adcf
    2021-02-22T00:53:11.1238408Z ##[group]Checkout git repository
    2021-02-22T00:53:13.0631363Z From https://github.com/projectarcher/nlu
    2021-02-22T00:53:13.0632977Z  * branch            HEAD       -> FETCH_HEAD
    2021-02-22T00:53:13.0813255Z fatal: empty string is not a valid pathspec. please use . instead if you meant to match all paths
    2021-02-22T00:53:13.0831432Z ##[endgroup]
    2021-02-22T00:53:13.0849153Z ##[group]Configure Git
    2021-02-22T00:53:13.0912999Z ##[endgroup]
    2021-02-22T00:53:13.0929623Z ##[group]Generate Changelog
    2021-02-22T00:53:13.0950676Z Traceback (most recent call last):
    2021-02-22T00:53:13.0951927Z   File "/changelog-ci.py", line 571, in <module>
    2021-02-22T00:53:13.0952554Z     config_file=config_file, token=token
    2021-02-22T00:53:13.0974049Z   File "/changelog-ci.py", line 29, in __init__
    2021-02-22T00:53:13.0974901Z     title, number = self._get_pull_request_title_and_number(event_path)
    2021-02-22T00:53:13.0975927Z   File "/changelog-ci.py", line 60, in _get_pull_request_title_and_number
    2021-02-22T00:53:13.0976764Z     title = data["pull_request"]['title']
    2021-02-22T00:53:13.0977389Z KeyError: 'pull_request'
    2021-02-22T00:53:13.3327500Z Post job cleanup.
    2021-02-22T00:53:13.4421055Z [command]/usr/bin/git version
    2021-02-22T00:53:13.4517086Z git version 2.30.0
    2021-02-22T00:53:13.4564458Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
    2021-02-22T00:53:13.4608663Z [command]/usr/bin/git submodule foreach --recursive git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :
    2021-02-22T00:53:13.4919148Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
    2021-02-22T00:53:13.4953855Z http.https://github.com/.extraheader
    2021-02-22T00:53:13.4962619Z [command]/usr/bin/git config --local --unset-all http.https://github.com/.extraheader
    2021-02-22T00:53:13.5000811Z [command]/usr/bin/git submodule foreach --recursive git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :
    2021-02-22T00:53:13.5378619Z Cleaning up orphan processes
    
    opened by MikeVaz 6
  • fatal: Couldn't find remote ref

    fatal: Couldn't find remote ref

    I am running into an issue with the git checkout.

    Checkout git repository
      fatal: Couldn't find remote ref changelog
      error: pathspec 'changelog' did not match any file(s) known to git
    

    Which is triggered by: https://github.com/saadmk11/changelog-ci/blob/73b906e9060f5fbfa4112bccc114ed59fba076f4/scripts/changelog-ci.py#L555-L559

    May I ask why do we need to checkout if we have actions/[email protected] already?

    Needed More Information 
    opened by shijianjian 5
  • Error on line 41: KeyError: 'pull_request'

    Error on line 41: KeyError: 'pull_request'

      Traceback (most recent call last):
        File "/changelog-ci.py", line 778, in <module>
          ci = changelog_ci_class(
        File "/changelog-ci.py", line 36, in __init__
          title, number = self._get_pull_request_title_and_number(event_path)
        File "/changelog-ci.py", line 46, in _get_pull_request_title_and_number
          title = data["pull_request"]['title']
      KeyError: 'pull_request'
    

    config:

    {
      "changelog_type": "commit_message"
    }
    
    opened by circles-png 3
  • Changelog CI uses the same PR reference for multiple releases

    Changelog CI uses the same PR reference for multiple releases

    Describe the bug

    Changelog CI links the same PR references for multiple versions.

    Your Environment

    Workflow Run URL (if Public Repository): You can see this in this file: https://github.com/robinmatz/changelog-ci-poc/pull/6/files#diff-06572a96a58dc510037d5efa622f9bec8519bc1beab13c9f251e97e657a9d4ed

    Contents of Your Changelog-CI Workflow File (.yaml File):

    name: Changelog CI
    
    on:
      pull_request:
        types: [ opened ]
    
    jobs:
      build:
        runs-on: ubuntu-latest
    
        steps:
          - uses: actions/[email protected]
    
          - name: Run Changelog CI
            uses: saadmk11/[email protected]
    

    Contents of Changelog-CI Configuration File (If Applicable):

    Expected behavior

    I expect there be only the newest PRs since the last release:

    # Version: 0.3.2
    
    * [#4](https://github.com/robinmatz/changelog-ci-poc/pull/4): Release 0.3.1
    * [#5](https://github.com/robinmatz/changelog-ci-poc/pull/5): Make return string return string not class str
    
    
    # Version: 0.3.1
    
    * [#3](https://github.com/robinmatz/changelog-ci-poc/pull/3): New feature
    * [#2](https://github.com/robinmatz/changelog-ci-poc/pull/2): Release 0.2.0
    
    # Version: 0.2.0
    * [#1](https://github.com/robinmatz/changelog-ci-poc/pull/1): Release 0.1.0
    

    Actual behavior

    All PRs are listed under the newest version

    # Version: 0.3.2
    
    * [#2](https://github.com/robinmatz/changelog-ci-poc/pull/2): Release 0.2.0
    * [#1](https://github.com/robinmatz/changelog-ci-poc/pull/1): Release 0.1.0
    * [#4](https://github.com/robinmatz/changelog-ci-poc/pull/4): Release 0.3.1
    * [#3](https://github.com/robinmatz/changelog-ci-poc/pull/3): New feature
    * [#5](https://github.com/robinmatz/changelog-ci-poc/pull/5): Make return string return string not class str
    
    
    # Version: 0.3.1
    
    * [#3](https://github.com/robinmatz/changelog-ci-poc/pull/3): New feature
    * [#2](https://github.com/robinmatz/changelog-ci-poc/pull/2): Release 0.2.0
    * [#1](https://github.com/robinmatz/changelog-ci-poc/pull/1): Release 0.1.0
    # Version: 0.2.0
    * [#1](https://github.com/robinmatz/changelog-ci-poc/pull/1): Release 0.1.0
    

    Additional context

    Please checkout the repo for additional context on PR history: https://github.com/robinmatz/changelog-ci-poc/pulls?q=is%3Apr+is%3Aclosed

    Please also let me know if the issue is with my setup.

    opened by robinmatz 2
  • [Question] How version matching is working?  Could not find matching version number. Regex tried: v?([0-9]{1,2})+[.]+([0-9]{1,2})+[.]+([0-9]{1,2})\s\(\d{1,2}-\d{1,2}-\d{4}\) Aborting Changelog Generation

    [Question] How version matching is working? Could not find matching version number. Regex tried: v?([0-9]{1,2})+[.]+([0-9]{1,2})+[.]+([0-9]{1,2})\s\(\d{1,2}-\d{1,2}-\d{4}\) Aborting Changelog Generation

    I am trying with pull request now which seems to work but I am getting an error

    Could not find matching version number. Regex tried: v?([0-9]{1,2})+[.]+([0-9]{1,2})+[.]+([0-9]{1,2})\s\(\d{1,2}-\d{1,2}-\d{4}\) Aborting Changelog Generation
    

    Could explain where it is looking for versions?

    documentation 
    opened by MikeVaz 2
  • The commit history is replicated in each version generated with each new PR

    The commit history is replicated in each version generated with each new PR

    Describe the bug

    Every time I create a new PR it shows me the first commit by default that was created when the repository was started and all the commits associated with previous PRs (It doesn't show those of the PR that I am managing at the moment)

    Your Environment

    Repo: https://github.com/BlindadoXp/testch Every step that I did in case you can guide me because I am confusing the process

    Step 1:

    - git checkout -b branch_1
    - Create empty [CHANGELOG.md](https://github.com/saadmk11/changelog-ci/blob/v1.0.0/CHANGELOG.md)
    - Create changelog-ci-config.json
    - Create changelog-ci.yml (remove workflow_dispatch and replace changelog_filename with ./CHANGELOG.md If I don't do this, it returns me the message that the changelog is not found. Remove committer_username and  committer_email)
    - Git add -A & git commit -m “First commit” & git push branch_1
    - Create pr Release/v1.0.0 (03-16-2022)
    - Merge PR & delete branch in GitHub
    

    FIRST PR: Changelog: Version: v1.0.0 (03-16-2022)

    • [e4a3277] Initial commit (It is not my commit, it is the first one that was created by default when the repository was created)

    Step 2:

    - git checkout main & git pull & delete branch local 
    - git checkout -b branch_2
    - Create folder api + api/fastapi.py
    - git add -A
    - git commit -m "Create api/fastapi.py"
    - git push origin branch_2
    - Add # into api/fastapi.py
    - git add -A
    - git commit -m "Add # into api/fastapi.py"
    - git push origin branch_2
    - Create a new pr Release/v2.0.0 (03-16-2022)
    - Merge PR & delete branch in GitHub
    

    SECOND PR: Version: v2.0.0 (03-16-2022)

    • [faa2fc9] [Changelog CI] Add Changelog for Version v1.0.0 (03-16-2022)
    • [941665a]First commit
    • [e4a3277] Initial commit

    The second changelog was created with the commits of the previous PR and also added the first commit by default that was created when generating the repository

    Step 3:

    - git checkout main & git pull & delete branch local 
    - git checkout -b branch_3
    - Add another # into api/fastapi.py
    - git add -A
    -  git commit -m "Add another # into api/fastapi.py"
    - git push origin branch_3
    - Create new pr Release/v3.0.0 (03-16-2022)
    - Merge PR & delete branch in GitHub
    

    THIRD PR: Version: v3.0.0 (03-16-2022)

    • [dfbdd56] [Changelog CI] Add Changelog for Version v2.0.0 (03-16-2022)
    • [966d486] Add # into api/fastapi.py
    • [d62b3af]Create api/fastapi.py
    • [faa2fc9][Changelog CI] Add Changelog for Version v1.0.0 (03-16-2022)
    • [941665a]First commit
    • [e4a3277] Initial commit

    It is a mix of the first commit by default, the commits of the first PR and the second

    duplicate 
    opened by BlindadoXp 1
  • Generate changelog for forked repo PR

    Generate changelog for forked repo PR

    Currently, changelog-ci does not support committing changelog from a fork repo PR because of permission issues. More research is needed on this issue.

    ref: https://github.com/saadmk11/changelog-ci/issues/38

    Feature 
    opened by saadmk11 1
  • Update/Restructure Documentation

    Update/Restructure Documentation

    After https://github.com/saadmk11/changelog-ci/pull/69 we have more options for Changelog CI. This is a good time to restructure documentation and add details about the new options

    documentation enhancement 
    opened by saadmk11 0
  • Add Configuration options for `Unlabeled Changes`

    Add Configuration options for `Unlabeled Changes`

    This Pull Request adds two options to the configuration.

    1. include_unlabeled_changes (Default: True): if set to false it Generated Changelog will not contain the changes that are unlabeled or if the label is not on the group_config option.
    2. unlabeled_group_title (Default: Other Changes): This option will set the title of the unlabeled changes if include_unlabeled_changes is enabled.

    Note: both of these settings will be used if the group_config option is added.

    Closes https://github.com/saadmk11/changelog-ci/issues/42

    Feature 
    opened by saadmk11 0
  • Can we custom the change log file format

    Can we custom the change log file format

    Currently after generate the change log, the format will be:

    Pull_Request_Number: Pull_Request_Title

    Have any option which we can change the format to:

    Pull_Request_Title: Pull_Request_Number

    Feature 
    opened by nguyentanhungbk 1
Releases(v1.1.0)
Owner
Maksudul Haque
Web Developer, Open Source Contributor
Maksudul Haque
Simple, Pythonic remote execution and deployment.

Welcome to Fabric! Fabric is a high level Python (2.7, 3.4+) library designed to execute shell commands remotely over SSH, yielding useful Python obje

Fabric 13.8k Jan 06, 2023
Python utility function to communicate with a subprocess using iterables: for when data is too big to fit in memory and has to be streamed

iterable-subprocess Python utility function to communicate with a subprocess using iterables: for when data is too big to fit in memory and has to be

Department for International Trade 5 Jul 10, 2022
A Simple script to hunt unused Kubernetes resources.

K8SPurger A Simple script to hunt unused Kubernetes resources. Release History Release 0.3 Added Ingress Added Services Account Adding RoleBindding Re

Yogesh Kunjir 202 Nov 19, 2022
A Python Implementation for Git for learning

A pure Python implementation for Git based on Buliding Git

shidenggui 42 Jul 13, 2022
Glances an Eye on your system. A top/htop alternative for GNU/Linux, BSD, Mac OS and Windows operating systems.

Glances - An eye on your system Summary Glances is a cross-platform monitoring tool which aims to present a large amount of monitoring information thr

Nicolas Hennion 22k Jan 08, 2023
This Docker container is build to run on a server an provide an easy to use interface for every student to vote for their councilors

This Docker container is build to run on a server and provide an easy to use interface for every student to vote for their councilors.

Robin Adelwarth 7 Nov 23, 2022
IP address management (IPAM) and data center infrastructure management (DCIM) tool.

NetBox is an IP address management (IPAM) and data center infrastructure management (DCIM) tool. Initially conceived by the network engineering team a

NetBox Community 11.8k Jan 07, 2023
Big data on k8s

# microsoft azure # https://docs.microsoft.com/en-us/cli/azure/install-azure-cli az account set --subscription [] az aks get-credentials --resource-g

Luan Moreno 22 Dec 24, 2022
Automatically capture your Ookla Speedtest metrics and display them in a Grafana dashboard

Speedtest All-In-One Automatically capture your Ookla Speedtest metrics and display them in a Grafana dashboard. Getting Started About This Code This

Aaron Melton 2 Feb 22, 2022
RMRK spy bot for RMRK hackathon

rmrk_spy_bot RMRK spy bot https://t.me/RMRKspyBot for rmrk hacktoberfest https://rmrk.devpost.com/ Birds and items price and rarity estimation Reports

Victor Ryabinin 2 Sep 06, 2022
CTF infrastructure deployment automation tool.

CTF infrastructure deployment automation tool. Focus on the challenges. Mirrored from

Fake News 1 Apr 12, 2022
Quick & dirty controller to schedule Kubernetes Jobs later (once)

K8s Jobber Operator Quickly implemented Kubernetes controller to enable scheduling of Jobs at a later time. Usage: To schedule a Job later, Set .spec.

Jukka Väisänen 2 Feb 11, 2022
Azure plugins for Feast (FEAture STore)

Feast on Azure This project provides resources to enable running a feast feature store on Azure. Feast Azure Provider The Feast Azure provider acts li

Microsoft Azure 70 Dec 31, 2022
A Blazing fast Security Auditing tool for Kubernetes

A Blazing fast Security Auditing tool for kubernetes!! Basic Overview Kubestriker performs numerous in depth checks on kubernetes infra to identify th

Vasant Chinnipilli 934 Jan 04, 2023
Coding For Entrepreneurs 100 Jan 01, 2023
This projects provides the documentation and the automation(code) for the Oracle EMEA WLA COA Demo UseCase.

COA DevOps Training UseCase This projects provides the documentation and the automation(code) for the Oracle EMEA WLA COA Demo UseCase. Demo environme

Cosmin Tudor 1 Jan 28, 2022
More than 130 check plugins for Icinga and other Nagios-compatible monitoring applications. Each plugin is a standalone command line tool (written in Python) that provides a specific type of check.

Python-based Monitoring Check Plugins Collection This Enterprise Class Check Plugin Collection offers a package of more than 130 Python-based, Nagios-

Linuxfabrik 119 Dec 27, 2022
docker-compose工程部署时的辅助脚本

okta-cmd Introduction docker-compose 辅助脚本

完美风暴666 4 Dec 09, 2021
Ingress patch example by Kustomize

Ingress patch example by Kustomize

Jinu 10 Nov 14, 2022