@redpanda-data/docs-extensions-and-macros 3.1.4 → 3.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.adoc +4 -2
- package/extensions/version-fetcher/{getLatestConsoleVersion.js → get-latest-console-version.js} +8 -11
- package/extensions/version-fetcher/get-latest-operator-version.js +28 -0
- package/extensions/version-fetcher/get-latest-redpanda-version.js +39 -0
- package/extensions/version-fetcher/set-latest-version.js +12 -2
- package/package.json +1 -1
- package/extensions/version-fetcher/getLatestRedpandaVersion.js +0 -46
package/README.adoc
CHANGED
|
@@ -79,9 +79,11 @@ antora:
|
|
|
79
79
|
|
|
80
80
|
=== Version fetcher
|
|
81
81
|
|
|
82
|
-
This extension fetches the latest release
|
|
82
|
+
This extension fetches the latest release versions from GitHub.
|
|
83
83
|
|
|
84
|
-
|
|
84
|
+
The latest Console version is made available to all versions of the Redpanda docs (`ROOT` component.)
|
|
85
|
+
|
|
86
|
+
The latest Redpanda version and the latest Redpanda Operator version is made available to the latest version of the `ROOT` component.
|
|
85
87
|
|
|
86
88
|
==== Environment variables
|
|
87
89
|
|
package/extensions/version-fetcher/{getLatestConsoleVersion.js → get-latest-console-version.js}
RENAMED
|
@@ -19,15 +19,12 @@ const github = new OctokitWithRetries(githubOptions);
|
|
|
19
19
|
var latestConsoleReleaseVersion;
|
|
20
20
|
|
|
21
21
|
module.exports = async () => {
|
|
22
|
-
|
|
23
|
-
owner,
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
return null
|
|
31
|
-
}))
|
|
32
|
-
return latestConsoleReleaseVersion;
|
|
22
|
+
try {
|
|
23
|
+
const release = await github.rest.repos.getLatestRelease({ owner, repo });
|
|
24
|
+
latestConsoleReleaseVersion = release.data.tag_name.replace('v','');
|
|
25
|
+
return latestConsoleReleaseVersion;
|
|
26
|
+
} catch (error) {
|
|
27
|
+
console.error(error);
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
33
30
|
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// Fetch the latest release version from GitHub
|
|
2
|
+
const { Octokit } = require("@octokit/rest");
|
|
3
|
+
const { retry } = require("@octokit/plugin-retry");
|
|
4
|
+
const OctokitWithRetries = Octokit.plugin(retry);
|
|
5
|
+
const owner = 'redpanda-data';
|
|
6
|
+
const repo = 'redpanda-operator';
|
|
7
|
+
|
|
8
|
+
let githubOptions = {
|
|
9
|
+
userAgent: 'Redpanda Docs',
|
|
10
|
+
baseUrl: 'https://api.github.com',
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
if (process.env.REDPANDA_GITHUB_TOKEN) {
|
|
14
|
+
githubOptions.auth = process.env.REDPANDA_GITHUB_TOKEN;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
const github = new OctokitWithRetries(githubOptions);
|
|
18
|
+
|
|
19
|
+
module.exports = async () => {
|
|
20
|
+
try {
|
|
21
|
+
const release = await github.rest.repos.getLatestRelease({ owner, repo });
|
|
22
|
+
latestOperatorReleaseVersion = release.data.tag_name;
|
|
23
|
+
return latestOperatorReleaseVersion;
|
|
24
|
+
} catch (error) {
|
|
25
|
+
console.error(error);
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
// Fetch the latest release version from GitHub
|
|
2
|
+
const { Octokit } = require("@octokit/rest");
|
|
3
|
+
const { retry } = require("@octokit/plugin-retry");
|
|
4
|
+
const OctokitWithRetries = Octokit.plugin(retry);
|
|
5
|
+
const owner = 'redpanda-data';
|
|
6
|
+
const repo = 'redpanda';
|
|
7
|
+
|
|
8
|
+
let githubOptions = {
|
|
9
|
+
userAgent: 'Redpanda Docs',
|
|
10
|
+
baseUrl: 'https://api.github.com',
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
if (process.env.REDPANDA_GITHUB_TOKEN) {
|
|
14
|
+
githubOptions.auth = process.env.REDPANDA_GITHUB_TOKEN;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
const github = new OctokitWithRetries(githubOptions);
|
|
18
|
+
|
|
19
|
+
module.exports = async () => {
|
|
20
|
+
try {
|
|
21
|
+
// Fetch the latest release
|
|
22
|
+
const release = await github.rest.repos.getLatestRelease({ owner, repo });
|
|
23
|
+
const tag = release.data.tag_name;
|
|
24
|
+
latestRedpandaReleaseVersion = tag.replace('v', '');
|
|
25
|
+
|
|
26
|
+
// Get reference of the tag
|
|
27
|
+
const tagRef = await github.rest.git.getRef({ owner, repo, ref: `tags/${tag}` });
|
|
28
|
+
const releaseSha = tagRef.data.object.sha;
|
|
29
|
+
|
|
30
|
+
// Get the tag object to extract the commit hash
|
|
31
|
+
const tagData = await github.rest.git.getTag({ owner, repo, tag_sha: releaseSha });
|
|
32
|
+
latestRedpandaReleaseCommitHash = tagData.data.object.sha.substring(0, 7);
|
|
33
|
+
|
|
34
|
+
return [latestRedpandaReleaseVersion, latestRedpandaReleaseCommitHash];
|
|
35
|
+
} catch (error) {
|
|
36
|
+
console.error(error);
|
|
37
|
+
return [null, null];
|
|
38
|
+
}
|
|
39
|
+
};
|
|
@@ -4,8 +4,9 @@ antora:
|
|
|
4
4
|
- require: ./extensions/setLatestVersion.js
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
const GetLatestRedpandaVersion = require('./
|
|
8
|
-
const GetLatestConsoleVersion = require('./
|
|
7
|
+
const GetLatestRedpandaVersion = require('./get-latest-redpanda-version');
|
|
8
|
+
const GetLatestConsoleVersion = require('./get-latest-console-version');
|
|
9
|
+
const GetLatestOperatorVersion = require('./get-latest-operator-version');
|
|
9
10
|
const chalk = require('chalk')
|
|
10
11
|
|
|
11
12
|
|
|
@@ -19,12 +20,16 @@ module.exports.register = function ({ config }) {
|
|
|
19
20
|
try {
|
|
20
21
|
const LatestRedpandaVersion = await GetLatestRedpandaVersion();
|
|
21
22
|
const LatestConsoleVersion = await GetLatestConsoleVersion();
|
|
23
|
+
const LatestOperatorVersion = await GetLatestOperatorVersion();
|
|
22
24
|
if (LatestRedpandaVersion.length !== 2 || !LatestRedpandaVersion[0]) {
|
|
23
25
|
logger.warn('Failed to get the latest Redpanda version - using defaults');
|
|
24
26
|
}
|
|
25
27
|
if (!LatestConsoleVersion) {
|
|
26
28
|
logger.warn(`Failed to get latest Console version from GitHub - using default`)
|
|
27
29
|
}
|
|
30
|
+
if (!LatestOperatorVersion) {
|
|
31
|
+
logger.warn(`Failed to get latest Operator version from GitHub - using default`)
|
|
32
|
+
}
|
|
28
33
|
const components = await contentCatalog.getComponents();
|
|
29
34
|
for (let i = 0; i < components.length; i++) {
|
|
30
35
|
let component = components[i];
|
|
@@ -50,6 +55,11 @@ module.exports.register = function ({ config }) {
|
|
|
50
55
|
component.latest.asciidoc.attributes['full-version'] = `${LatestRedpandaVersion[0]}`;
|
|
51
56
|
component.latest.asciidoc.attributes['latest-release-commit'] = `${LatestRedpandaVersion[1]}`;
|
|
52
57
|
console.log(`${chalk.green('Set the latest Redpanda version to')} ${chalk.bold(LatestRedpandaVersion[0])} ${chalk.bold(LatestRedpandaVersion[1])}`)
|
|
58
|
+
|
|
59
|
+
if (!LatestOperatorVersion) continue;
|
|
60
|
+
|
|
61
|
+
component.latest.asciidoc.attributes['latest-operator-version'] = `${LatestOperatorVersion}`;
|
|
62
|
+
console.log(`${chalk.green('Set the latest Redpanda Operator version to')} ${chalk.bold(LatestOperatorVersion)}`)
|
|
53
63
|
}
|
|
54
64
|
} catch(error) {
|
|
55
65
|
logger.warn(error)
|
package/package.json
CHANGED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
// Fetch the latest release version from GitHub
|
|
2
|
-
const { Octokit } = require("@octokit/rest");
|
|
3
|
-
const { retry } = require("@octokit/plugin-retry");
|
|
4
|
-
const OctokitWithRetries = Octokit.plugin(retry);
|
|
5
|
-
const owner = 'redpanda-data';
|
|
6
|
-
const repo = 'redpanda';
|
|
7
|
-
|
|
8
|
-
let githubOptions = {
|
|
9
|
-
userAgent: 'Redpanda Docs',
|
|
10
|
-
baseUrl: 'https://api.github.com',
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
if (process.env.REDPANDA_GITHUB_TOKEN) {
|
|
14
|
-
githubOptions.auth = process.env.REDPANDA_GITHUB_TOKEN;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
const github = new OctokitWithRetries(githubOptions);
|
|
18
|
-
|
|
19
|
-
var latestRedpandaReleaseVersion;
|
|
20
|
-
var latestRedpandaReleaseCommitHash;
|
|
21
|
-
|
|
22
|
-
module.exports = async () => {
|
|
23
|
-
await github.rest.repos.getLatestRelease({
|
|
24
|
-
owner,
|
|
25
|
-
repo,
|
|
26
|
-
}).then(async function(release) {
|
|
27
|
-
const tag = release.data.tag_name;
|
|
28
|
-
latestRedpandaReleaseVersion = tag.replace('v','');
|
|
29
|
-
await github.rest.git.getRef({
|
|
30
|
-
owner,
|
|
31
|
-
repo,
|
|
32
|
-
ref: `/tags/${tag}`,
|
|
33
|
-
}).then(async function(tagRef) {
|
|
34
|
-
const releaseSha = tagRef.data.object.sha;
|
|
35
|
-
await github.rest.git.getTag({
|
|
36
|
-
owner,
|
|
37
|
-
repo,
|
|
38
|
-
tag_sha: releaseSha,
|
|
39
|
-
}).then((tag => latestRedpandaReleaseCommitHash = tag.data.object.sha.substring(0, 7)))
|
|
40
|
-
})
|
|
41
|
-
}).catch((error => {
|
|
42
|
-
console.error(error)
|
|
43
|
-
return null
|
|
44
|
-
}))
|
|
45
|
-
return [latestRedpandaReleaseVersion, latestRedpandaReleaseCommitHash];
|
|
46
|
-
};
|