open-sauced / release

nodejs and docker github actions compatible semantic-release shareable config to publish to npmjs.com and ghcr.io
MIT License
14 stars 6 forks source link

Feature: add option to skip changelog generation #18

Closed brandonroberts closed 1 year ago

brandonroberts commented 1 year ago

Type of feature

🍕 Feature

Current behavior

Currently, as part of the release process, a changelog is generated with the release commit.

This feature would allow you to configure a flag to skip changelog generation, and only apply the release commit and semantic version. The default would remain as-is today.

Suggested solution

No response

Additional context

No response

Code of Conduct

Contributing Docs

0-vortex commented 1 year ago

IMHO this could be done without committing a breaking change, by leveraging a new environment variable:

const {
  GITHUB_SHA,
  GITHUB_REPOSITORY,
  GITHUB_REF,
  GIT_COMMITTER_NAME,
  GIT_COMMITTER_EMAIL,
  GIT_AUTHOR_NAME,
  GIT_AUTHOR_EMAIL,
  SETTINGS_CHANGELOG
} = process.env;

.. and setting it to true unless it's specifically defined:

!GIT_COMMITTER_NAME && (process.env.GIT_COMMITTER_NAME = "open-sauced[bot]");
!GIT_COMMITTER_EMAIL && (process.env.GIT_COMMITTER_EMAIL = "63161813+open-sauced[bot]@users.noreply.github.com");
!SETTINGS_CHANGELOG && (process.env.SETTINGS_CHANGELOG = true)

.. and then adding a conditional around @semantic-release/changelog:

if (SETTINGS_CHANGELOG === true) {
  addPlugin("@semantic-release/changelog", {
    "changelogTitle": `# 📦 ${owner}/${repo} changelog

  [![conventional commits](https://img.shields.io/badge/conventional%20commits-1.0.0-yellow.svg)](https://conventionalcommits.org)
  [![semantic versioning](https://img.shields.io/badge/semantic%20versioning-2.0.0-green.svg)](https://semver.org)

  > All notable changes to this project will be documented in this file`
  });
}

Would the proposed code changes cover the requirements? 🍕

brandonroberts commented 1 year ago

Yep, seems reasonable to me

github-actions[bot] commented 1 year ago

:tada: This issue has been resolved in version 2.4.0 :tada:

The release is available on:

Your semantic-release bot :package::rocket: