Skip to content

Commit

Permalink
0.12 back-port: chore: fix changelog generation (#4828)
Browse files Browse the repository at this point in the history
* chore: fix changelog generation

Aligned with `draft-release-notes.ts` script.
Used explicit version range instead of experimental `--next-tag` flag.

* refactor(chore): extract helper to generate changelog
  • Loading branch information
vvagaytsev authored Jul 14, 2023
1 parent 35aa729 commit 33be93e
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 25 deletions.
20 changes: 20 additions & 0 deletions scripts/changelog.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#!/usr/bin/env ts-node

import execa from "execa"
import { resolve } from "path"

const gardenRoot = resolve(__dirname, "..")

export async function getChangelog(curReleaseTag: string) {
try {
return (
await execa(
"git-chglog",
["--tag-filter-pattern", "^\\d+\\.\\d+\\.\\d+$", "--sort", "semver", `${curReleaseTag}..${curReleaseTag}`],
{ cwd: gardenRoot }
)
).stdout
} catch (err) {
throw new Error(`Error generating changelog: ${err}`)
}
}
16 changes: 1 addition & 15 deletions scripts/draft-release-notes.ts
Original file line number Diff line number Diff line change
@@ -1,28 +1,14 @@
#!/usr/bin/env ts-node

import execa from "execa"
import { writeFile } from "fs-extra"
import { execSync } from "child_process"
import { resolve } from "path"
import { dedent } from "@garden-io/sdk/util/string"
import { getChangelog } from "./changelog"
import parseArgs = require("minimist")

const gardenRoot = resolve(__dirname, "..")

async function getChangelog(curReleaseTag: string) {
try {
return (
await execa(
"git-chglog",
["--tag-filter-pattern", "^\\d+\\.\\d+\\.\\d+$", "--sort", "semver", `${curReleaseTag}..${curReleaseTag}`],
{ cwd: gardenRoot }
)
).stdout
} catch (err) {
throw new Error(`Error generating changelog: ${err}`)
}
}

function getContributors(prevReleaseTag: string, curReleaseTag: string) {
try {
return execSync(
Expand Down
16 changes: 6 additions & 10 deletions scripts/release.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,14 @@ import execa from "execa"
import semver from "semver"
import inquirer from "inquirer"
import chalk from "chalk"
import { relative, resolve } from "path"
import { createWriteStream, readFile, writeFile } from "fs-extra"
import { getPackages } from "./script-utils"
import { getChangelog } from "./changelog"
import parseArgs = require("minimist")
import deline = require("deline")
import { resolve, relative } from "path"
import { readFile, createWriteStream, writeFile } from "fs-extra"
import { getPackages } from "./script-utils"
import Bluebird = require("bluebird")

const replace = require("replace-in-file")

type ReleaseType = "minor" | "patch" | "preminor" | "prepatch" | "prerelease"
Expand Down Expand Up @@ -285,13 +287,7 @@ async function updateChangelog(version: string) {
const changelogPath = "./CHANGELOG.md";
// TODO: Use readStream and pipe
const changelog = await readFile(changelogPath)
const nextChangelogEntry = (
await execa(
"git-chglog",
["--tag-filter-pattern", "^\\d+\\.\\d+\\.\\d+$", "--sort", "semver", "--next-tag", version, version],
{ cwd: gardenRoot }
)
).stdout
const nextChangelogEntry = getChangelog(version)
return new Promise((resolve, reject) => {
const writeStream = createWriteStream(changelogPath)
writeStream.write(nextChangelogEntry)
Expand Down

0 comments on commit 33be93e

Please sign in to comment.