You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by ur...@apache.org on 2022/09/30 01:57:10 UTC
[pulsar-site] branch main updated: remove old release notes generation scripts (#238)
This is an automated email from the ASF dual-hosted git repository.
urfree pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/pulsar-site.git
The following commit(s) were added to refs/heads/main by this push:
new 68203259ca5 remove old release notes generation scripts (#238)
68203259ca5 is described below
commit 68203259ca57f14e6910db3a0495ed3d010610b4
Author: Li Li <ur...@apache.org>
AuthorDate: Fri Sep 30 09:57:02 2022 +0800
remove old release notes generation scripts (#238)
---
site2/tools/release-json-gen.sh | 1 -
site2/website-next/scripts/release-notes-other.js | 195 ----------------------
site2/website-next/scripts/release-notes.js | 167 ------------------
site2/website-next/scripts/release-notes.sh | 60 -------
4 files changed, 423 deletions(-)
diff --git a/site2/tools/release-json-gen.sh b/site2/tools/release-json-gen.sh
index 515e3a86cc5..980369ebe82 100755
--- a/site2/tools/release-json-gen.sh
+++ b/site2/tools/release-json-gen.sh
@@ -51,7 +51,6 @@ do
echo "module.exports = [" > "$OUTPUT"
done
-# gh auth login, ref: https://github.com/apache/pulsar-site/blob/760f7b47f437267a3c9d71d14c73e99ba32bd1ec/site2/website-next/scripts/release-notes.sh#L31-L33
echo $GH_TOKEN > "$TOKEN_FILE"
gh auth login --with-token < "$TOKEN_FILE"
rm "$TOKEN_FILE"
diff --git a/site2/website-next/scripts/release-notes-other.js b/site2/website-next/scripts/release-notes-other.js
deleted file mode 100644
index b721da70166..00000000000
--- a/site2/website-next/scripts/release-notes-other.js
+++ /dev/null
@@ -1,195 +0,0 @@
-const fs = require("fs");
-const request = require("sync-request");
-const md2json = require("md-2-json");
-const _ = require("lodash");
-const path = require("path");
-const token = process.env.TOKEN;
-
-const COMP_MAP = {
- "client-c#": "pulsar-dotpulsar",
-};
-
-const args = process.argv.slice(2);
-const dir = args[0];
-let VERSION = null;
-let COMPONENT = null;
-if (args.length > 1) {
- COMPONENT = args[1];
- COMPONENT = COMP_MAP[COMPONENT] || COMPONENT;
-}
-if (args.length > 2) {
- VERSION = args[2];
-}
-
-let fileList = fs.readFileSync(
- path.join(dir, "/site2/website-next/other-component.json"),
- "utf-8"
-);
-let allPageMd = fs.readFileSync(
- path.join(dir, "/site2/website-next/release-notes/all.md"),
- "utf8"
-);
-let fileListJson = JSON.parse(fileList);
-
-let origin = "https://api.github.com/repos";
-
-for (let element of fileListJson) {
- if (COMPONENT && element.indexOf(COMPONENT) < 0) {
- continue;
- }
- let repo = new Object();
- let repoContet = new Object();
- let fileName = element.split("/")[2];
-
- if (element == "/apache/pulsar-dotpulsar") {
- let url = origin + element;
- getDotPulsarMd(url);
- } else {
- repo = getRequest(origin + element + "/releases");
- repoContet = JSON.parse(repo.getBody("utf-8"));
-
- let typeList = fileName.split("-");
- let type = typeList[typeList.length - 1]
- .split("-")
- .map((word) => word.charAt(0).toUpperCase() + word.slice(1))
- .join(" ");
-
- for (let ele of repoContet) {
- ele.fileName = fileName;
- ele.type = type;
- ele.bigVersion =
- ele.tag_name.slice(1).slice(0, ele.tag_name.slice(1).lastIndexOf(".")) +
- ".x";
- let value = {
- client: fileName,
- version: ele.tag_name.slice(1),
- body: ele.body,
- };
- if (VERSION && value.version != VERSION) {
- continue;
- }
- let content = generateMdByContent(value);
-
- let _path = path.join(
- dir,
- "/site2/website-next/release-notes/versioned/" +
- value.client +
- "-" +
- value.version +
- ".md"
- );
- fs.writeFileSync(_path, content);
- console.log(_path);
- }
-
- let categoryGroup = _.groupBy(repoContet, "type");
- for (let [key, value] of Object.entries(categoryGroup)) {
- allPageMd += `\n### ${key === "Node" ? "NodeJs" : key}\n`;
- let bigVersionGroup = _.groupBy(value, "bigVersion");
-
- for (let [bigVersionKey, bigVersionVal] of Object.entries(
- bigVersionGroup
- )) {
- allPageMd += `#### ${bigVersionKey}\n`;
- let versionGroup = _.groupBy(bigVersionVal, "tag_name");
- for (let [versionKey, versionVal] of Object.entries(versionGroup)) {
- allPageMd += `[${versionKey}](/release-notes/versioned/${versionVal[0].fileName.toLowerCase()}-${versionKey.slice(
- 1
- )})  `;
- }
- allPageMd += ` \n`;
- }
- }
- }
-}
-
-if (!VERSION) {
- //Only if the version is not specified, please modify all.md manually if the version is specified to avoid overwriting the contents of other versions
- fs.writeFileSync(
- path.join(dir, "/site2/website-next/release-notes/all.md"),
- allPageMd,
- "utf8"
- );
-}
-
-function generateMdByContent(value) {
- let clientName = value.client
- .toLowerCase()
- .split("-")
- .map((word) => word.charAt(0).toUpperCase() + word.slice(1))
- .join(" ");
- let id = value.client + "-" + value.version;
- if (!value.version) {
- id = value.client;
- }
-
- let result = `---
-id: ${id}
-title: ${clientName}
-sidebar_label: ${clientName}
----
-
-`;
- return result + value.body;
-}
-
-function getRequest(url) {
- return (res = request("GET", url, {
- headers: {
- "User-Agent": "request",
- Authorization: token,
- },
- json: true,
- }));
-}
-
-function getDotPulsarMd(url) {
- let contents = getRequest(url + "/contents/CHANGELOG.md").getBody("utf-8");
- let contentsBody = JSON.parse(contents);
- let changeLog = Buffer.from(contentsBody.content, "base64").toString();
- let changeLogJson = md2json.parse(changeLog);
- let versionObject = [];
-
- for (let [key, value] of Object.entries(changeLogJson["Changelog"])) {
- if (key.includes("[")) {
- let strEnd = key.search("]");
- let version = key.slice(1, strEnd);
- if (VERSION && version != VERSION) {
- continue;
- }
- let bigVersion = version.slice(0, version.lastIndexOf(".")) + ".x";
-
- let content = md2json.toMd([value]);
- let temp = `---
-id: pulsar-cs-${version}
-title: Pulsar DotPulsar
-sidebar_label: Pulsar DotPulsar
----
-${content.replace(/# 0/, " ")}
-`;
- const _path = path.join(
- dir,
- "/site2/website-next/release-notes/versioned/pulsar-cs-" + version + ".md"
- );
- fs.writeFileSync(_path, temp);
- console.log(_path);
-
- versionObject.push({
- bigVersion: bigVersion,
- version: version,
- });
- }
- }
-
- allPageMd += `### C#\n`;
-
- let bigVersionGroup = _.groupBy(versionObject, "bigVersion");
-
- for (let [key, value] of Object.entries(bigVersionGroup)) {
- allPageMd += `\n#### ${key}\n`;
- let versionGroup = _.groupBy(value, "version");
- for (let [versionKey, versionVal] of Object.entries(versionGroup)) {
- allPageMd += `[${versionKey}](/release-notes/versioned/pulsar-cs-${versionVal[0].version})  \n`;
- }
- }
-}
diff --git a/site2/website-next/scripts/release-notes.js b/site2/website-next/scripts/release-notes.js
deleted file mode 100644
index 73243c6cad7..00000000000
--- a/site2/website-next/scripts/release-notes.js
+++ /dev/null
@@ -1,167 +0,0 @@
-const fs = require("fs");
-const path = require("path");
-const _ = require("lodash");
-const versions = require("../versions.json");
-
-let allPageMd = `---
-id: all
-title: All Releases
-sidebar_label: All Releases
-slug: /
----
-
-`;
-let allList = [];
-
-const args = process.argv.slice(2);
-const dir = args[0];
-let VERSION = null;
-let COMPONENT = null;
-if (args.length > 1) {
- COMPONENT = args[1];
-}
-if (args.length > 2) {
- VERSION = args[2];
-}
-
-function generateMdByVersion(version) {
- const src = path.join(
- dir,
- "/site2/website-next/scripts/release-notes",
- version + ".json"
- );
- const dest = path.join(dir, "/site2/website-next/release-notes/versioned");
-
- const data = fs.readFileSync(src, "utf8");
-
- let list = JSON.parse(data);
- list = list
- .filter((item) => {
- let { labels } = item;
- return labels.find((label) => {
- return label.name.startsWith("component");
- });
- })
- .map((item) => {
- let { title, number, labels } = item;
- let label = labels.find((label) => {
- return label.name.startsWith("component");
- });
- label = label.name.substr("component/".length).replace("c++", "CPP");
- let category = "pulsar";
- let top = category;
- if (label.indexOf("client") > -1) {
- top = "client";
- category = label;
- if (label == "client") {
- category = "client-java";
- }
- }
- let [v1, v2] = version.split(".");
- return {
- title,
- number,
- label,
- category,
- top,
- bigVersion: v1 + "." + v2 + ".x",
- version,
- };
- });
- allList = allList.concat(list);
-
- let group = _.groupBy(list, "category");
-
- for (let [category, prs] of Object.entries(group)) {
- if (COMPONENT && category != COMPONENT) {
- continue;
- }
- let result = `---
-id: ${category.toLowerCase()}-${version}
-title: ${_.startCase(
- category.toLowerCase() == "pulsar" ? "apache pulsar" : category
- )} ${version}
-sidebar_label: ${_.startCase(
- category.toLowerCase() == "pulsar" ? "apache pulsar" : category
- )} ${version}
----
-
-`;
-
- let _labelGroup = _.groupBy(prs, "label");
- for (let [_label, _prs] of Object.entries(_labelGroup)) {
- if (Object.keys(_labelGroup).length > 1) {
- result += "## " + _label + "\n";
- }
- result += _prs
- .map((pr) => {
- return (
- pr.title +
- " [#" +
- pr.number +
- "](https://github.com/apache/pulsar/pull/" +
- pr.number +
- ") "
- );
- })
- .join("\n");
- result += "\n\n";
- }
- fs.writeFileSync(
- path.join(dest, category.toLowerCase() + "-" + version + ".md"),
- result,
- "utf8"
- );
- console.log(
- path.join(dest, category.toLowerCase() + "-" + version + ".md")
- );
- }
-}
-
-function generateAll() {
- let topGroup = _.groupBy(allList, "top");
- for (let [topKey, topVal] of Object.entries(topGroup)) {
- allPageMd += `## ${_.startCase(topKey)} Release Notes\n`;
- let categoryGroup = _.groupBy(topVal, "category");
- for (let [categoryKey, categoryVal] of Object.entries(categoryGroup)) {
- if (categoryKey.toLowerCase() != "pulsar") {
- if (categoryKey.toLocaleLowerCase() == "client-cpp") {
- allPageMd += `### C++\n`;
- } else if (categoryKey.toLocaleLowerCase() == "client-websocket") {
- allPageMd += `### WebSocket\n`;
- } else {
- allPageMd += `### ${_.startCase(
- categoryKey.replace("client-", "")
- )}\n`;
- }
- }
- let bigVersionGroup = _.groupBy(categoryVal, "bigVersion");
- for (let [bigVersionKey, bigVersionVal] of Object.entries(
- bigVersionGroup
- )) {
- allPageMd += `#### ${bigVersionKey}\n`;
- let versionGroup = _.groupBy(bigVersionVal, "version");
- for (let [versionKey, versionVal] of Object.entries(versionGroup)) {
- allPageMd += `[${versionKey}](/release-notes/versioned/${categoryKey.toLowerCase()}-${versionKey})  `;
- }
- allPageMd += ` \n`;
- }
- }
- }
-
- fs.writeFileSync(
- path.join(dir, "/site2/website-next/release-notes", "all.md"),
- allPageMd,
- "utf8"
- );
-}
-
-if (VERSION) {
- generateMdByVersion(VERSION);
-} else {
- for (let version of versions) {
- generateMdByVersion(version);
- }
- //Only if the version is not specified, please modify all.md manually if the version is specified to avoid overwriting the contents of other versions
- generateAll();
-}
diff --git a/site2/website-next/scripts/release-notes.sh b/site2/website-next/scripts/release-notes.sh
deleted file mode 100755
index 422c1d298dc..00000000000
--- a/site2/website-next/scripts/release-notes.sh
+++ /dev/null
@@ -1,60 +0,0 @@
-#! /bin/sh
-
-ROOT_DIR=$(git rev-parse --show-toplevel)
-MAIN=(
- "pulsar"
- "client-java"
- "client-python"
- "client-cpp"
- "client-websocket"
-)
-OTHER=(
- "client-go"
- "client-node"
- "client-c#"
-)
-
-echo "Supported components: "${MAIN[@]} ${OTHER[@]}
-read -p "Please enter component name: " COMPONENT
-if [ ! $COMPONENT ]; then
- echo "Generate all release notes(all versions) of all components"
-else
- read -p "Please enter version: " VERSION
- if [ ! $VERSION ]; then
- echo "Generate release notes(all versions) of $COMPONENT"
- else
- echo "Generate release notes($VERSION) of $COMPONENT"
- fi
-fi
-
-function _ghFromPulsar() {
- echo $TOKEN >$ROOT_DIR/site2/website-next/scripts/token
- gh auth login --with-token <$ROOT_DIR/site2/website-next/scripts/token
- rm $ROOT_DIR/site2/website-next/scripts/token
-
- cd $ROOT_DIR/../pulsar
-
- mkdir -p $ROOT_DIR/site2/website-next/scripts/release-notes
-
- if [ ! $VERSION ]; then
- VERSIONS=$(cat $ROOT_DIR/site2/website-next/versions.json | jq -r ".[]")
- for version in $VERSIONS; do
- gh pr list --limit 200 --label "release/"$version --state merged --json labels,title,number >$ROOT_DIR/site2/website-next/scripts/release-notes/$version.json
- done
- else
- gh pr list --limit 200 --label "release/"$VERSION --state merged --json labels,title,number >$ROOT_DIR/site2/website-next/scripts/release-notes/$VERSION.json
- fi
-}
-
-if [ ! $COMPONENT ]; then
- _ghFromPulsar
- node $ROOT_DIR/site2/website-next/scripts/release-notes.js $ROOT_DIR
- node $ROOT_DIR/site2/website-next/scripts/release-notes-other.js $ROOT_DIR
-else
- if [[ "${OTHER[@]}" =~ "${COMPONENT}" ]]; then
- node $ROOT_DIR/site2/website-next/scripts/release-notes-other.js $ROOT_DIR $COMPONENT $VERSION
- else
- _ghFromPulsar
- node $ROOT_DIR/site2/website-next/scripts/release-notes.js $ROOT_DIR $COMPONENT $VERSION
- fi
-fi