Skip to content

Commit 11580bd

Browse files
committed
Products with versions should show their base versions in badges without a specified version
1 parent 043c470 commit 11580bd

File tree

7 files changed

+64
-32
lines changed

7 files changed

+64
-32
lines changed

docs/testing/req.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,17 @@ Below is a table of `applies_to` badge scenarios.
5959
| {applies_to}`stack: deprecated` | `` {applies_to}`stack: deprecated` `` |
6060
| {applies_to}`stack: removed` | `` {applies_to}`stack: removed` `` |
6161

62+
### No version specified (product)
63+
64+
| Badge | Raw Markdown |
65+
|-------|--------------|
66+
| {applies_to}`apm_agent_python: ga` | `` {applies_to}`apm_agent_python: ga` `` |
67+
| {applies_to}`apm_agent_python: preview` | `` {applies_to}`apm_agent_python: preview` `` |
68+
| {applies_to}`apm_agent_python: beta` | `` {applies_to}`apm_agent_python: beta` `` |
69+
| {applies_to}`apm_agent_python: deprecated` | `` {applies_to}`apm_agent_python: deprecated` `` |
70+
| {applies_to}`apm_agent_python: removed` | `` {applies_to}`apm_agent_python: removed` `` |
71+
72+
6273
### Greater than or equal to (x.x+ / x.x)
6374

6475
| Badge | Raw Markdown |
@@ -69,6 +80,13 @@ Below is a table of `applies_to` badge scenarios.
6980
| {applies_to}`stack: beta 9.1+` | `` {applies_to}`stack: beta 9.1+` `` |
7081
| {applies_to}`stack: deprecated 9.0+` | `` {applies_to}`stack: deprecated 9.0+` `` |
7182
| {applies_to}`stack: removed 9.0` | `` {applies_to}`stack: removed 9.0` `` |
83+
| {applies_to}`apm_agent_python: ga 6.0` | `` {applies_to}`apm_agent_python: ga 6.0` `` |
84+
| {applies_to}`apm_agent_python: ga 6.5+` | `` {applies_to}`apm_agent_python: ga 6.5+` `` |
85+
| {applies_to}`apm_agent_python: preview 6.24+` | `` {applies_to}`apm_agent_python: preview 6.24+` `` |
86+
| {applies_to}`apm_agent_python: beta 6.1+` | `` {applies_to}`apm_agent_python: beta 6.1+` `` |
87+
| {applies_to}`apm_agent_python: deprecated 6.0+` | `` {applies_to}`apm_agent_python: deprecated 6.0+` `` |
88+
| {applies_to}`apm_agent_python: removed 6.0` | `` {applies_to}`apm_agent_python: removed 6.0` `` |
89+
7290

7391
### Range (x.x-y.y)
7492

@@ -78,6 +96,7 @@ Below is a table of `applies_to` badge scenarios.
7896
| {applies_to}`stack: preview 9.0-9.2` | `` {applies_to}`stack: preview 9.0-9.2` `` |
7997
| {applies_to}`stack: beta 9.0-9.1` | `` {applies_to}`stack: beta 9.0-9.1` `` |
8098
| {applies_to}`stack: deprecated 9.0-9.2` | `` {applies_to}`stack: deprecated 9.0-9.2` `` |
99+
| {applies_to}`apm_agent_python: ga 6.0-6.23` | `` {applies_to}`apm_agent_python: ga 6.0-6.23` `` |
81100

82101
### Exact version (=x.x)
83102

@@ -88,6 +107,7 @@ Below is a table of `applies_to` badge scenarios.
88107
| {applies_to}`stack: beta =9.1` | `` {applies_to}`stack: beta =9.1` `` |
89108
| {applies_to}`stack: deprecated =9.0` | `` {applies_to}`stack: deprecated =9.0` `` |
90109
| {applies_to}`stack: removed =9.0` | `` {applies_to}`stack: removed =9.0` `` |
110+
| {applies_to}`apm_agent_python: ga =6.20` | `` {applies_to}`apm_agent_python: ga =6.20` `` |
91111

92112
### Multiple lifecycles
93113

src/Elastic.Documentation/AppliesTo/ApplicableToYamlConverter.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -333,8 +333,8 @@ private static bool CheckVersionOverlap(VersionSpec v1, VersionSpec v2, out stri
333333
var (v1Min, v1Max) = GetEffectiveRange(v1);
334334
var (v2Min, v2Max) = GetEffectiveRange(v2);
335335

336-
var overlaps = v1Min.CompareTo(v2Max ?? new SemVersion(99999, 99999, 99999)) <= 0 &&
337-
v2Min.CompareTo(v1Max ?? new SemVersion(99999, 99999, 99999)) <= 0;
336+
var overlaps = v1Min.CompareTo(v2Max ?? new SemVersion(99999, 0, 0)) <= 0 &&
337+
v2Min.CompareTo(v1Max ?? new SemVersion(99999, 0, 0)) <= 0;
338338

339339
if (overlaps)
340340
message = $"Version ranges overlap.";

src/Elastic.Documentation/SemVersion.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
namespace Elastic.Documentation;
1010

11-
public class AllVersions() : SemVersion(99999, 99999, 99999)
11+
public class AllVersions() : SemVersion(99999, 0, 0)
1212
{
1313
public static AllVersions Instance { get; } = new();
1414
}

src/Elastic.Documentation/VersionSpec.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ namespace Elastic.Documentation;
88

99
public sealed class AllVersionsSpec : VersionSpec
1010
{
11-
private static readonly SemVersion AllVersionsSemVersion = new(9999, 9999, 9999);
11+
private static readonly SemVersion AllVersionsSemVersion = new(99999, 0, 0);
1212

1313
private AllVersionsSpec() : base(AllVersionsSemVersion, null, VersionSpecKind.GreaterThanOrEqual)
1414
{

src/Elastic.Markdown/Myst/Components/ApplicabilityRenderer.cs

Lines changed: 10 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -36,21 +36,14 @@ public ApplicabilityRenderData RenderApplicability(
3636
var showLifecycle = applicability.Lifecycle != ProductLifecycle.GenerallyAvailable && string.IsNullOrEmpty(badgeLifecycleText);
3737

3838
// Determine if we should show version based on VersionSpec
39-
var showVersion = false;
40-
var versionDisplay = string.Empty;
39+
var versionDisplay = GetBadgeVersionText(applicability.Version, versioningSystem);
40+
var showVersion = !string.IsNullOrEmpty(versionDisplay);
4141

42-
if (applicability.Version is not null && applicability.Version != AllVersionsSpec.Instance)
42+
// Special handling for Removed lifecycle - don't show + suffix
43+
if (applicability is { Lifecycle: ProductLifecycle.Removed, Version.Kind: VersionSpecKind.GreaterThanOrEqual } &&
44+
!string.IsNullOrEmpty(versionDisplay))
4345
{
44-
versionDisplay = GetBadgeVersionText(applicability.Version, versioningSystem);
45-
showVersion = !string.IsNullOrEmpty(versionDisplay);
46-
47-
// Special handling for Removed lifecycle - don't show + suffix
48-
if (applicability.Lifecycle == ProductLifecycle.Removed &&
49-
applicability.Version.Kind == VersionSpecKind.GreaterThanOrEqual &&
50-
!string.IsNullOrEmpty(versionDisplay))
51-
{
52-
versionDisplay = versionDisplay.TrimEnd('+');
53-
}
46+
versionDisplay = versionDisplay.TrimEnd('+');
5447
}
5548

5649
return new ApplicabilityRenderData(
@@ -261,13 +254,11 @@ private static string BuildBadgeLifecycleText(
261254
private static string GetBadgeVersionText(VersionSpec? versionSpec, VersioningSystem versioningSystem)
262255
{
263256
// When no version is specified, check if we should show the base version
264-
if (versionSpec is null || versionSpec == AllVersionsSpec.Instance)
257+
if (versionSpec is null)
265258
{
266-
if (versioningSystem.Base.Major != AllVersionsSpec.Instance.Min.Major)
267-
return $"{versioningSystem.Base.Major}.{versioningSystem.Base.Minor}+";
268-
269-
// Otherwise, this is an unversioned product, show no version
270-
return string.Empty;
259+
return versioningSystem.Base != AllVersionsSpec.Instance.Min
260+
? $"{versioningSystem.Base.Major}.{versioningSystem.Base.Minor}+"
261+
: string.Empty; // Otherwise, this is an unversioned product, show no version
271262
}
272263

273264
var kind = versionSpec.Kind;

tests/authoring/Applicability/ApplicableToComponent.fs

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,11 @@ stack: ga
146146
147147
If this functionality is unavailable or behaves differently when deployed on ECH, ECE, ECK, or a self-managed installation, it will be indicated on the page.">
148148
<span class="applicable-name">Stack</span>
149-
<span class="applicable-meta applicable-meta-ga">
149+
<span class="applicable-separator"></span>
150+
<span class="applicable-meta applicable-meta-ga">
151+
<span class="applicable-version applicable-version-ga">
152+
8.0+
153+
</span>
150154
</span>
151155
</span>
152156
</p>
@@ -484,6 +488,9 @@ stack: unavailable
484488
<span class="applicable-separator"></span>
485489
<span class="applicable-meta applicable-meta-unavailable">
486490
<span class="applicable-lifecycle applicable-lifecycle-unavailable">Unavailable</span>
491+
<span class="applicable-version applicable-version-unavailable">
492+
8.0+
493+
</span>
487494
</span>
488495
</span>
489496
</div>
@@ -503,6 +510,9 @@ product: ga
503510
<span class="applicable-info" data-tippy-content="Available since 8.0.">
504511
<span class="applicable-name"></span>
505512
<span class="applicable-meta applicable-meta-ga">
513+
<span class="applicable-version applicable-version-ga">
514+
8.0+
515+
</span>
506516
</span>
507517
</span>
508518
</p>

tests/authoring/Blocks/Admonitions.fs

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -68,10 +68,14 @@ This is a custom admonition with applies_to information.
6868
6969
If this functionality is unavailable or behaves differently when deployed on ECH, ECE, ECK, or a self-managed installation, it will be indicated on the page.">
7070
<span class="applicable-name">Stack</span>
71-
<span class="applicable-meta applicable-meta-ga">
72-
</span>
73-
</span>
74-
</span>
71+
<span class="applicable-separator"></span>
72+
<span class="applicable-meta applicable-meta-ga">
73+
<span class="applicable-version applicable-version-ga">
74+
8.0+
75+
</span>
76+
</span>
77+
</span>
78+
</span>
7579
<span class="admonition-title__separator"></span>
7680
</div>
7781
<div class="admonition-content">
@@ -84,10 +88,14 @@ If this functionality is unavailable or behaves differently when deployed on ECH
8488
<span class="applies applies-admonition">
8589
<span class="applicable-info" data-tippy-content="Available since 8.0.">
8690
<span class="applicable-name">Serverless</span>
87-
<span class="applicable-meta applicable-meta-ga">
88-
</span>
89-
</span>
90-
</span>
91+
<span class="applicable-separator"></span>
92+
<span class="applicable-meta applicable-meta-ga">
93+
<span class="applicable-version applicable-version-ga">
94+
8.0+
95+
</span>
96+
</span>
97+
</span>
98+
</span>
9199
<span class="admonition-title__separator"></span>
92100
</div>
93101
<div class="admonition-content">
@@ -105,6 +113,9 @@ This functionality may be changed or removed in a future release. Elastic will w
105113
<span class="applicable-separator"></span>
106114
<span class="applicable-meta applicable-meta-preview">
107115
<span class="applicable-lifecycle applicable-lifecycle-preview">Preview</span>
116+
<span class="applicable-version applicable-version-preview">
117+
8.0+
118+
</span>
108119
</span>
109120
</span>
110121
</span>

0 commit comments

Comments
 (0)