@redpanda-data/docs-extensions-and-macros 3.7.4 → 3.9.0

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.
@@ -54,7 +54,7 @@ module.exports.register = function ({ config }) {
54
54
  }
55
55
 
56
56
  if (uniqueRelatedDocs.length > 0 || uniqueRelatedLabs.length > 0) {
57
- logger.info(`Set related docs and labs attributes for ${labPage.asciidoc.doctitle}`);
57
+ logger.debug(`Set related docs and labs attributes for ${labPage.asciidoc.doctitle}`);
58
58
  }
59
59
  });
60
60
  });
@@ -19,7 +19,7 @@ module.exports.register = function ({ config }) {
19
19
  })
20
20
  if (!relatedLabs.length) return
21
21
  docPage.asciidoc.attributes['page-related-labs'] = JSON.stringify(relatedLabs)
22
- logger.info(`Set page-related-labs attribute for ${docPage.asciidoc.doctitle} to ${docPage.asciidoc.attributes['page-related-labs']}`)
22
+ logger.debug(`Set page-related-labs attribute for ${docPage.asciidoc.doctitle} to ${docPage.asciidoc.attributes['page-related-labs']}`)
23
23
  })
24
24
  })
25
25
  }
@@ -37,9 +37,12 @@ module.exports.register = function () {
37
37
  ? sanitizeAttributeValue(attributes['latest-redpanda-tag'] || '')
38
38
  : sanitizeAttributeValue(attributes['full-version'] || ''));
39
39
 
40
- const consoleVersion = useTagAttributes
41
- ? sanitizeAttributeValue(attributes['latest-console-tag'] || '')
42
- : sanitizeAttributeValue(attributes['latest-console-version'] || '');
40
+ const consoleVersion = isPrerelease
41
+ ? sanitizeAttributeValue(attributes['console-beta-tag'] || '')
42
+ : (useTagAttributes
43
+ ? sanitizeAttributeValue(attributes['latest-console-tag'] || '')
44
+ : sanitizeAttributeValue(attributes['latest-console-version'] || ''));
45
+
43
46
  const redpandaRepo = isPrerelease ? 'redpanda-unstable' : 'redpanda';
44
47
  const consoleRepo = 'console';
45
48
 
@@ -1,6 +1,7 @@
1
1
  module.exports = async (github, owner, repo) => {
2
2
  const semver = require('semver');
3
3
  try {
4
+ // Fetch all the releases from the repository
4
5
  const releases = await github.rest.repos.listReleases({
5
6
  owner,
6
7
  repo,
@@ -8,21 +9,27 @@ module.exports = async (github, owner, repo) => {
8
9
  per_page: 50
9
10
  });
10
11
 
11
- // Filter tags with valid semver format
12
+ // Filter valid semver tags and sort them to find the highest version
12
13
  const sortedReleases = releases.data
13
14
  .map(release => release.tag_name)
14
15
  .filter(tag => semver.valid(tag.replace(/^v/, '')))
15
16
  .sort((a, b) => semver.rcompare(a.replace(/^v/, ''), b.replace(/^v/, '')));
16
17
 
17
18
  if (sortedReleases.length > 0) {
18
- // Return the highest version with "v" prefix
19
- return sortedReleases[0];
19
+ // Find the highest versions for stable and beta releases
20
+ const latestStableReleaseVersion = sortedReleases.find(tag => !tag.includes('-beta'));
21
+ const latestBetaReleaseVersion = sortedReleases.find(tag => tag.includes('-beta'));
22
+
23
+ return {
24
+ latestStableRelease: latestStableReleaseVersion || null,
25
+ latestBetaRelease: latestBetaReleaseVersion || null
26
+ };
20
27
  } else {
21
28
  console.log("No valid semver releases found.");
22
- return null;
29
+ return { latestStableRelease: null, latestBetaRelease: null };
23
30
  }
24
31
  } catch (error) {
25
- console.error(error);
26
- return null;
32
+ console.error('Failed to fetch release information:', error);
33
+ return { latestStableRelease: null, latestBetaRelease: null };
27
34
  }
28
35
  };
@@ -69,7 +69,7 @@ module.exports.register = function ({ config }) {
69
69
 
70
70
  // Set attributes for console and connect versions
71
71
  if (latestVersions.console) {
72
- setVersionAndTagAttributes(asciidoc, 'latest-console', latestVersions.console, name, version);
72
+ setVersionAndTagAttributes(asciidoc, 'latest-console', latestVersions.console.latestStableRelease, name, version);
73
73
  }
74
74
  if (latestVersions.connect) {
75
75
  setVersionAndTagAttributes(asciidoc, 'latest-connect', latestVersions.connect, name, version);
@@ -77,6 +77,7 @@ module.exports.register = function ({ config }) {
77
77
  // Special handling for Redpanda RC versions if in beta
78
78
  if (latestVersions.redpanda?.latestRcRelease?.version) {
79
79
  setVersionAndTagAttributes(asciidoc, 'redpanda-beta', latestVersions.redpanda.latestRcRelease.version, name, version)
80
+ setVersionAndTagAttributes(asciidoc, 'console-beta', latestVersions.console.latestBetaRelease, name, version);
80
81
  asciidoc.attributes['redpanda-beta-commit'] = latestVersions.redpanda.latestRcRelease.commitHash;
81
82
  }
82
83
  });
@@ -91,12 +92,18 @@ module.exports.register = function ({ config }) {
91
92
  component.latest.asciidoc.attributes['full-version'] = sanitizeVersion(latestVersions.redpanda.latestRedpandaRelease.version);
92
93
  setVersionAndTagAttributes(component.latest.asciidoc, 'latest-redpanda', latestVersions.redpanda.latestRedpandaRelease.version, component.latest.name, component.latest.version);
93
94
  component.latest.asciidoc.attributes['latest-release-commit'] = latestVersions.redpanda.latestRedpandaRelease.commitHash;
94
- logger.info(`Updated Redpanda release version to ${latestVersions.redpanda.latestRedpandaRelease.version}`);
95
95
  }
96
96
  }
97
97
  });
98
98
 
99
99
  console.log(chalk.green('Updated Redpanda documentation versions successfully.'));
100
+ logger.info(`Latest Redpanda version: ${latestVersions.redpanda.latestRedpandaRelease.version}`);
101
+ if (latestVersions.redpanda.latestRCRelease) logger.info(`Latest Redpanda beta version: ${latestVersions.redpanda.latestRCRelease.version}`);
102
+ logger.info(`Latest Connect version: ${latestVersions.connect}`);
103
+ logger.info(`Latest Console version: ${latestVersions.console.latestStableRelease}`);
104
+ if (latestVersions.console.latestBetaRelease) logger.info(`Latest Console beta version: ${latestVersions.console.latestBetaRelease}`);
105
+ logger.info(`Latest Redpanda Helm chart version: ${latestVersions.helmChart}`);
106
+ logger.info(`Latest Operator version: ${latestVersions.operator}`);
100
107
  } catch (error) {
101
108
  logger.error(`Error updating versions: ${error}`);
102
109
  }
@@ -110,9 +117,9 @@ module.exports.register = function ({ config }) {
110
117
  asciidoc.attributes[`${baseName}-tag`] = `${versionData}`;
111
118
 
112
119
  if (name && version) {
113
- logger.info(`Set ${baseName}-version to ${versionWithoutPrefix} and ${baseName}-tag to ${versionData} in ${name} ${version}`);
120
+ logger.debug(`Set ${baseName}-version to ${versionWithoutPrefix} and ${baseName}-tag to ${versionData} in ${name} ${version}`);
114
121
  } else {
115
- logger.info(`Updated ${baseName}-version to ${versionWithoutPrefix} and ${baseName}-tag to ${versionData}`);
122
+ logger.debug(`Updated ${baseName}-version to ${versionWithoutPrefix} and ${baseName}-tag to ${versionData}`);
116
123
  }
117
124
  }
118
125
  }
@@ -389,13 +389,15 @@ module.exports.register = function (registry, context) {
389
389
  supportLevelStr += `<p>${certifiedDrivers}${certifiedDrivers && communityDrivers ? '</br> ' : ''}${communityDrivers}</p>`;
390
390
  }
391
391
  }
392
- // Build the cloud support column
392
+ // Build the cloud support column and include the connector URL where a connector page is available. Otherwise, just mark as available.
393
393
  const firstCloudSupportedType = Array.from(types.entries())
394
394
  .map(([_, commercialNames]) => Object.values(commercialNames).find(({ isCloudSupported }) => isCloudSupported))
395
- .find(entry => entry && entry.urls.redpandaCloudUrl);
395
+ .find(entry => entry);
396
396
  const cloudLinkDisplay = firstCloudSupportedType
397
- ? `<a href="${firstCloudSupportedType.urls.redpandaCloudUrl}">Yes</a>`
398
- : 'No';
397
+ ? firstCloudSupportedType.urls.redpandaCloudUrl
398
+ ? `<a href="${firstCloudSupportedType.urls.redpandaCloudUrl}">Yes</a>`
399
+ : `Yes`
400
+ : 'No';
399
401
 
400
402
  const firstUrl = getFirstUrlFromTypesArray(Array.from(types.entries()), isCloud);
401
403
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redpanda-data/docs-extensions-and-macros",
3
- "version": "3.7.4",
3
+ "version": "3.9.0",
4
4
  "description": "Antora extensions and macros developed for Redpanda documentation.",
5
5
  "keywords": [
6
6
  "antora",