conventional-changelog/conventional-changelog

Generated changelog misses commits displayed in merge changeset

O1ahmad opened this issue ยท 3 comments

We've noticed that sometimes when using the TriPSs/conventional-changelog-action action the generated changelog does not contain/process all of the commits included within the changeset to be merged despite indicating that it has discovered more of a particular commit type than is included within the changelog (see below for example).

The version adjustments seem to be working though it feels like something could be off with how the changelog is being generated by this conventional-changelog library with this info and based on the current git state.

Run TriPSs/conventional-changelog-action@v3.19.0
Using "" preset
Using "chore(release): {version} [skip ci]" as commit message
Using "Conventional Changelog Action" as git user.name
Using "conventional.changelog.action@github.com" as git user.email
Using "5" release count
Using "./package.json" as version file
Using "version" as version path
Using "v" as tag prefix
Using "false" as output file
Using ".github/changelog-config.js" as config file
Using "github.com" as gitUrl
Using "develop" as gitBranch
Using "" as gitPath
Skipping empty releases is "enabled"
Skipping the update of the version file is "enabled"
/usr/bin/git config user.name Conventional Changelog Action
/usr/bin/git config user.email conventional.changelog.action@github.com
/usr/bin/git remote set-url origin ***github.com/phantom/backend.git
Pull to make sure we have the full git history
/usr/bin/git rev-parse --is-shallow-repository
true
/usr/bin/git pull --unshallow --tags --ff-only
Already up to date.
Loading "/home/runner/work/backend/backend/.github/changelog-config.js" script
Recommended release type: minor
Because: There are 0 BREAKING CHANGES and 3 features
Using GIT to determine the new version
Changelog generated
## [1.3.0](https://github.com/phantom-labs/phantom-backend/compare/v1.2.1...v1.3.0) (2023-08-04)


### Features ๐ŸŽ‰

* update release workflow to support "hotfix/" branches targeting cherry-picked changesets ([bbcf9d4](https://github.com/phantom-labs/phantom-backend/commit/bbcf9d46b5a[29](https://github.com/phantom/backend/actions/runs/5766222756/job/15633736385#step:6:30)c5489e20e77c880f0765ec209a6))


### Chores ๐Ÿงน

* run prettier on all .github markdown, yaml and js files ([7475e36](https://github.com/phantom-labs/phantom-backend/commit/7475e36aa75626[35]

New version: 1.3.0
/usr/bin/git tag -a v1.3.0 -m v1.3.0
Push all changes

Notice how the version bump reason above indicates that 3 features were found though only 1 is actually displayed in the changelog.

Action Config:

      - name: Create Release changelog based on semantic commits
        id: create-release-changelog
        uses: TriPSs/conventional-changelog-action@v3.19.0
        with:
          github-token: ${{ secrets.GITHUB_TOKEN }}
          skip-commit: true
          skip-version-file: true
          output-file: false
          skip-tag: false
          config-file-path: ".github/changelog-config.js"

Also note, in the conventional-changelog docs the following is mentioned: It's recommended to use a preset so you don't have to define everything yourself. Presets are names of built-in config.

At the moment we're using a custom/non-preset config like below. It seems like we're ok w/ the defaults for non-defined options (based on the v2.2 spec) but wondering if that's affecting things.

"use strict";
const config = require("conventional-changelog-conventionalcommits");

module.exports = config({
  types: [
    { type: "feat", section: "Features ๐ŸŽ‰" },
    { type: "fix", section: "Bug Fixes ๐Ÿ›" },
    { type: "chore", section: "Chores ๐Ÿงน" },
    { type: "docs", section: "Documentation ๐Ÿ“–" },
    { type: "perf", section: "Performance โฑ" },
    { type: "test", section: "Test ๐Ÿ› " },
    { type: "revert", section: "Revert" },
  ],
});

@O1ahmad Hi. Could you please provide minimal repo with reproduction?

Thanks for following up @dangreen and apologies for the delay in response.

Closing since observed missing commits appear to be due to slightly malformed commit messages rather than action functional issues.