Skip to content

Change Request: release-please should create release only for certain tags #18455

Closed
@mdjermanovic

Description

@mdjermanovic

ESLint version

N/A

What problem do you want to solve?

Currently, in all repositories where we use release-please, it's configured to generate/update the release PR on any commit we push to the main branch, regardless of the commit tag.

The commit tags we're using are:

  • build
  • chore
  • ci
  • docs
  • feat
  • fix
  • perf
  • refactor
  • test

The problem is that not all kinds of commits warrant releasing a new version of the package. For example, if the only change we made since the last release was adding more tests, releasing a new version of the package does not benefit anyone. When deciding which packages to publish, we always need to review the commit list for each. It would be much easier for us if release-please would be generating release PRs only when there's a change we'd like to release.

What do you think is the correct solution?

Configure release-please to generate/update release PRs only for certain commit tags and review our policies for choosing tags for particular changes.


The tags that I believe we would certainly like to release a new version of the package for are:

  • docs - to update README on npm
  • feat
  • fix
  • perf

Then, there are changes that shouldn't be observable to end users but are affecting (or may affect) production code so we might want to release a new version to see if there are any issues as early as possible:

  • build
  • refactor

The tags that I believe we would not like to release a new version of the package for are:

  • ci
  • test

So above are 6 tags that I think release-please should generate/update the release PR for, and 2 tags that I don't think it should.


The remaining one is chore.

Per our policies, chore should be used "for changes that aren’t user-facing". Like, for example, fixing a typo in a test file. So, by the definition, these changes shouldn't warrant a new release.

But so far we have used this tag for changes that are user-facing, notably:

  • Small changes in production code - I think we should be more strict here and always mark these changes as refactor.
  • Updating dependencies - new versions of production dependencies may cause changes in the way our package works, so I think we should discuss whether we want to keep using chore for these changes or maybe introduce a new tag.

Participation

  • I am willing to submit a pull request for this change.

Additional comments

No response

Metadata

Metadata

Assignees

Labels

acceptedThere is consensus among the team that this change meets the criteria for inclusionarchived due to ageThis issue has been archived; please open a new issue for any further discussionenhancementThis change enhances an existing feature of ESLintinfrastructureRelates to the tools used in the ESLint development process

Type

No type

Projects

Status

Complete

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions