fix(release script): not updating root package.json version + not supporting some shells (@NadAlaba) (#5825)

* fix(release script): update root package.json version as well + other issues (@NadAlaba)

* remove version from release/package.json (get and set root only)

* usernames start with @, prs start with # in title regex

* update github PR links

* fix typo in dev-pkg script
This commit is contained in:
Nad Alaba 2024-08-28 15:42:52 +03:00 committed by GitHub
parent 7b4a789f2e
commit faf522f21f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 23 additions and 30 deletions

View file

@ -24,7 +24,7 @@
"dev": "turbo run dev --force",
"dev-be": "turbo run dev --force --filter @monkeytype/backend",
"dev-fe": "turbo run dev --force --filter @monkeytype/frontend",
"dev-pkg": "turbo run dev ---force -filter=\"./packages/*\"",
"dev-pkg": "turbo run dev --force --filter=\"./packages/*\"",
"start": "turbo run start",
"start-be": "turbo run start --filter @monkeytype/backend",
"start-fe": "turbo run start --filter @monkeytype/frontend",
@ -78,6 +78,6 @@
"eslint"
]
},
"version": "24.32.0",
"version": "24.34.0",
"packageManager": "pnpm@9.6.0"
}

View file

@ -3,7 +3,7 @@
"private": true,
"type": "module",
"scripts": {
"dev": "nodemon --watch src --exec 'node ./src/index.js --dry'",
"dev": "nodemon --watch src --exec \"node ./src/index.js --dry\"",
"dev-changelog": "nodemon ./src/buildChangelog.js",
"lint": "eslint \"./**/*.js\"",
"purge-cf-cache": "./bin/purgeCfCache.sh"
@ -22,6 +22,5 @@
"@octokit/rest": "20.1.1",
"dotenv": "16.4.5",
"readline-sync": "1.4.10"
},
"version": "24.34.0"
}
}

View file

@ -37,18 +37,20 @@ const logDelimiter =
"thisismylogdelimiterthatwilldefinitelynotappearintheactualcommitmessage";
async function getLog() {
return new Promise((resolve, reject) => {
exec(
`git log --oneline $(git describe --tags --abbrev=0 @^)..@ --pretty="format:${lineDelimiter}%H${logDelimiter}%h${logDelimiter}%s${logDelimiter}%b"`,
(err, stdout, _stderr) => {
if (err) {
reject(err);
}
function execPromise(command) {
return new Promise((resolve, reject) => {
exec(command, (err, stdout, _stderr) => {
if (err) reject(err);
resolve(stdout);
}
);
});
});
});
}
return execPromise(`git describe --tags --abbrev=0 HEAD^`).then((lastTag) =>
execPromise(
`git log --oneline ${lastTag.trim()}..HEAD --pretty="format:${lineDelimiter}%H${logDelimiter}%h${logDelimiter}%s${logDelimiter}%b"`
)
);
}
function itemIsAddingQuotes(item) {
@ -84,7 +86,7 @@ const titles = {
function getPrLink(pr) {
const prNum = pr.replace("#", "");
return `[#${prNum}](https://github.com/monkeytypegame/monkeytype/issues/${prNum})`;
return `[#${prNum}](https://github.com/monkeytypegame/monkeytype/pull/${prNum})`;
}
function getCommitLink(hash, longHash) {
@ -249,19 +251,11 @@ function convertStringToLog(logString) {
//split message using regex based on fix(language): spelling mistakes in Nepali wordlist and quotes (sapradhan) (#4528)
//scope is optional, username is optional, pr number is optional
const [_, type, scope, message, message2, message3] = title.split(
/^(\w+)(?:\(([^)]+)\))?:\s+(.+?)\s*(?:\(([^)]+)\))?(?:\s+\(([^)]+)\))?(?:\s+\(([^)]+)\))?$/
const [_, type, scope, message, username, pr] = title.split(
/^(\w+)(?:\(([^)]+)\))?:\s+(.+?)(?:\s*\((@[^)]+)\))?(?:\s+\((#[^)]+)\))?$/
);
const usernames = message2 && message3 ? message2.split(", ") : [];
let pr;
if (message2 && message3) {
pr = message3;
} else if (message2 && !message3) {
pr = message2;
}
const usernames = username ? username.split(", ") : [];
const prs = pr ? pr.split(", ") : [];
if (type && message) {
@ -276,7 +270,7 @@ function convertStringToLog(logString) {
scope,
message,
usernames: usernames || [],
prs,
prs: prs || [],
body: body || "",
});
} else {

View file

@ -120,7 +120,7 @@ const updatePackage = (newVersion) => {
console.log(`[Dry Run] Updated package.json to version ${newVersion}`);
return;
}
const packagePath = path.resolve(__dirname, "../package.json");
const packagePath = `${PROJECT_ROOT}/package.json`;
// Read the package.json file
const packageJson = JSON.parse(fs.readFileSync(packagePath, "utf8"));