Skip to content

Commit 7bf15d6

Browse files
committed
[repo] Add support for experimental releases
1 parent 5ec1484 commit 7bf15d6

File tree

4 files changed

+39
-0
lines changed

4 files changed

+39
-0
lines changed

sidebars/releaseNotes.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,10 @@ module.exports = function getReleaseNotes() {
6666
}
6767
}
6868

69+
if (versionData.isExperimental) {
70+
return;
71+
}
72+
6973
const entry = getReleaseEntry(versionData);
7074
if (existsSync(path.resolve(__dirname, '..', 'general', 'releases', versionData.name))) {
7175
entry.items.push({

src/theme/UnsupportedVersionBanner/index.js

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,9 +141,37 @@ function SecuritySupportExpiredWarning({ versionData }) {
141141
);
142142
}
143143

144+
function ExperimentalWarning() {
145+
return (
146+
<Admonition
147+
type="danger"
148+
icon={
149+
<AutoFixHighIcon fontSize="inherit" />
150+
}
151+
title="Experimental release"
152+
>
153+
<strong>
154+
<Translate
155+
description="A message to indicate that the version indicated an experimental release"
156+
id="version.support.experimental"
157+
>
158+
This version of Moodle is an experimental release and not intended for general production systems.
159+
</Translate>
160+
</strong>
161+
</Admonition>
162+
);
163+
}
164+
144165
function VersionedSupportWarning({ versionData, moodleVersion }) {
145166
const releaseStatus = getReleaseStatus(versionData, moodleVersion);
146167

168+
if (versionData.isExperimental) {
169+
// Experimental version.
170+
return (
171+
<ExperimentalWarning versionData={versionData} />
172+
);
173+
}
174+
147175
if (releaseStatus === 'current') {
148176
// Still in general support.
149177
return null;

src/utils/SupportedReleases.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,16 @@ export interface majorVersionData {
3737
securityEndDate: string,
3838
extendedSecurityEndDate?: string,
3939
isLTS: boolean,
40+
isExperimental: boolean,
4041
releases?: Array<versionInfo>
4142
}
4243

4344
export const isSupported = (versionData: majorVersionData): boolean => {
4445
if (versionData.extendedSecurityEndDate) {
4546
return (new Date(versionData.extendedSecurityEndDate)) > today;
47+
} else if (versionData.isExperimental) {
48+
// Do not display experimental releases in the version support info.
49+
return false;
4650
}
4751

4852
return (new Date(versionData.securityEndDate)) > today;

static/schema/versions.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@
3939
"isLTS": {
4040
"type": "boolean"
4141
},
42+
"isExperimental": {
43+
"type": "boolean"
44+
},
4245
"releases": {
4346
"type": "array",
4447
"items": {

0 commit comments

Comments
 (0)