Détail du package

github-release-from-cc-changelog

medikoo14.2kISC2.3.0

Create/update Github release notes from a CHANGELOG

conventional-commits, github, release, github-release

readme

Build status Tests coverage npm version

github-release-from-cc-changelog

Retrieve release notes from CHANGELOG.md (as generated by standard-version) and post them to GitHub

Installation

npm i -g github-release-from-cc-changelog

Prerequisites

  • Github url needs to be configured at package.json repository field
  • Ensure GitHub access token available at CONVENTIONAL_GITHUB_RELEASER_TOKEN (or GITHUB_TOKEN) environment variable. The scopes for the token you need is public_repo or repo (if you need to access private repos).
  • Tags for given versions need to exist in GitHub repository before pushing release notes. Tags need to follow format of v<version>, or in case of multi-package repositories follow format of <packageName>@<version>

Usage

CLI

At package directory run:

github-release-from-cc-changelog <versionTag>

e.g.

github-release-from-cc-changelog v1.0.0

Resolve and publish notes for all versions

At package directory run:

github-release-all-from-cc-changelog

By default v is assumed as tag postfix. In case of multi package repositories this can be overriden by passing --tag-prefix e.g.:

github-release-all-from-cc-changelog --tag-prefix=subpackage@

Dump release notes for given version

Useful also to verify whether notes for given version can be retrieved

At package directory run:

dump-release-notes-from-cc-changelog <versionTag>

Programmatically

const releaseFromChangelog = require("github-release-from-cc-changelog");

releaseFromChangelog(packageDirectory, versionTag).then(() => {
  console.log(`Successfully pushed release notes for "${ versionTag }"`);
});

Reseolve and publish notes for all versions

const releaseAllFromChangelog = require("github-release-from-cc-changelog/all");

releaseFromChangelog(packageDirectory).then(() => {
  console.log(`Successfully pushed and released notes for all versions`);
});

Test

npm test

changelog

Changelog

All notable changes to this project will be documented in this file. See standard-version for commit guidelines.

2.3.0 (2022-04-05)

Features

  • Support multi-package repository tags (09df03b)

2.2.1 (2022-01-28)

Maintenance Improvements

  • Do not return value in executor function (b7a2837)
  • Upgrade @octokit/rest to v17 (ca34873)
  • Upgrade @octokit/rest to v18 (89ecabd)
  • Upgrade chalk to v3 (5055654)
  • Upgrade type to v2 (f590985)

2.2.0 (2019-06-20)

Features

  • Support 'v' prefixed version input in CLI (a3b3e08)

2.1.0 (2019-06-20)

Features

  • Support pass of GitHub token with GITHUB_TOKEN or GH_TOKEN env var (d85888e)

Tests

  • Ensure to override env as copy (8604b2c)

2.0.0 (2019-06-19)

Features

  • dump-release-notes-from-cc-changelog CLI (464fa89)
  • resolveAllReleaseNotes util (6af9dc1)
  • resolveReleaseNotes util (9f8210e)

refactor

  • Rename lib/resolve-release-notes (a3fdb94)

Tests

  • Cover 'all' program (7fa20e8)
  • Cover main program (f0a21da)
  • Ensure proper repo resolution (351b5ee)
  • Move fixtures to tests root (6f1f934)
  • replace proxyquire with manual cache override (bb09095)
  • Seclude github API mock (e78cc17)
  • Seclude simple CHANGELOG case (628932c)

BREAKING CHANGES

  • lib/resolve-release-notes was renamed to lib/resolve-release-notes-from-changelog

1.0.1 (2019-06-18)

Bug Fixes

  • Fix resolution of first version (e0cf28b)

1.0.0 (2019-06-18)

Features

  • github-release-all-from-cc-changelog CLI (5a30e42)
  • github-release-from-cc-changelog CLI (852b0a3)
  • Main resolveFromChangelog program (d58d774)
  • releaseAll program (e82e21d)
  • resolveReleaseNotes util (b562d3b)
  • updateGithubRelease util (0230c46)