Skip to content

Fix CI for conventional commits #139

Closed
@Eh2406

Description

@Eh2406

This project insists on using conventional commits for everything on the dev and release branches. We attempt to check this in CI. The current CI code checks that every commit to a PR or on dev or release follow the style. We also generally use a "squash and merge" merging strategy.

This doesn't work for at least three reasons:

  • PR's have red CI, if there commits don't follow the style, even though those commits will be squash away after merge.
  • When doing a squash and merge, the maintainer gets to pick a new name. But nothing checks the new name follows conventional commits.
  • After squash and merge, CI flags nonconventional names. But at that point the only thing that can be done is force pushing to dev, which is worse than the problem it's trying to solve.

I think this can be fixed by the following:

  1. Turn on merge queues. This feature is intended to allow testing multiple PR's at the same time in the exact state they will be after merging. We don't need the additional parallelism, but we do need CI to run after the commit has been squashed.
  2. Reconfigure CI to run on pushes to PR and being added to merge queue.
  3. Set the conventional commits to only run in a merge queue.

It would be wonderful to have someone test the proposed configuration in some other repo to make sure it works, and then submit a PR to change CI here.

If we don't find a good solution, I would like to remove the conventional commits checking. Force pushing to dev is worse than having to build the first draft of the change log manually.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions