Skip to content

Commit eaf0f8b

Browse files
authored
Merge pull request #2063 from dxc-technology/Mil4n0r/fix_website_release_version
Added fix for displayed version in website
2 parents 1bf1580 + 87237d5 commit eaf0f8b

File tree

2 files changed

+42
-64
lines changed

2 files changed

+42
-64
lines changed

apps/website/next.config.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ module.exports = {
1313
return config;
1414
},
1515
reactStrictMode: true,
16-
assetPrefix: process.env.NODE_ENV === "production" ? `/halstack/${process.env.NEXT_PUBLIC_SITE_VERSION}` : undefined,
17-
basePath: process.env.NODE_ENV === "production" ? `/halstack/${process.env.NEXT_PUBLIC_SITE_VERSION}` : undefined,
16+
assetPrefix: process.env.NODE_ENV === "production" ? `/halstack/${process.env.NEXT_PUBLIC_SITE_VERSION?.split(".")[0]}` : undefined,
17+
basePath: process.env.NODE_ENV === "production" ? `/halstack/${process.env.NEXT_PUBLIC_SITE_VERSION?.split(".")[0]}` : undefined,
1818
transpilePackages: [
1919
"@cloudscape-design/components",
2020
"@cloudscape-design/component-toolkit",

scripts/release-website.js

Lines changed: 40 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,7 @@ const PREVDIRECTORY = "tools/react/";
88
const processListObjectsResponse = (response, directory) => {
99
return response.CommonPrefixes.map((commonPrefix) => {
1010
const prefix = commonPrefix.Prefix;
11-
return prefix.substring(
12-
prefix.lastIndexOf(directory) + directory.length,
13-
prefix.length - 1
14-
);
11+
return prefix.substring(prefix.lastIndexOf(directory) + directory.length, prefix.length - 1);
1512
})
1613
.filter((version) => version !== "latest")
1714
.map((version) => Number(version));
@@ -24,29 +21,23 @@ const getVersionsInS3Bucket = async () => {
2421
};
2522

2623
const versionsFromPrevDirectory = await new Promise((resolve, reject) => {
27-
new AWS.S3().listObjectsV2(
28-
{ ...params, Prefix: PREVDIRECTORY },
29-
(error, data) => {
30-
if (error) {
31-
reject(new Error(error));
32-
} else {
33-
resolve(processListObjectsResponse(data, PREVDIRECTORY));
34-
}
24+
new AWS.S3().listObjectsV2({ ...params, Prefix: PREVDIRECTORY }, (error, data) => {
25+
if (error) {
26+
reject(new Error(error));
27+
} else {
28+
resolve(processListObjectsResponse(data, PREVDIRECTORY));
3529
}
36-
);
30+
});
3731
});
3832

3933
const versions = await new Promise((resolve, reject) => {
40-
new AWS.S3().listObjectsV2(
41-
{ ...params, Prefix: DIRECTORY },
42-
(error, data) => {
43-
if (error) {
44-
reject(new Error(error));
45-
} else {
46-
resolve(processListObjectsResponse(data, DIRECTORY));
47-
}
34+
new AWS.S3().listObjectsV2({ ...params, Prefix: DIRECTORY }, (error, data) => {
35+
if (error) {
36+
reject(new Error(error));
37+
} else {
38+
resolve(processListObjectsResponse(data, DIRECTORY));
4839
}
49-
);
40+
});
5041
});
5142

5243
return versionsFromPrevDirectory.concat(versions);
@@ -55,36 +46,30 @@ const getVersionsInS3Bucket = async () => {
5546
const buildSite = (version) => {
5647
return new Promise((resolve, reject) => {
5748
console.log(`Building site with version ${version}`);
58-
exec(
59-
`cd apps/website && NEXT_PUBLIC_SITE_VERSION=${version} npm run build`,
60-
(error, stdout, stderr) => {
61-
if (error) {
62-
throw new Error(error.message);
63-
}
64-
if (stderr) {
65-
throw new Error(stderr);
66-
}
67-
resolve(stdout);
49+
exec(`cd apps/website && NEXT_PUBLIC_SITE_VERSION=${version} npm run build`, (error, stdout, stderr) => {
50+
if (error) {
51+
throw new Error(error.message);
6852
}
69-
);
53+
if (stderr) {
54+
throw new Error(stderr);
55+
}
56+
resolve(stdout);
57+
});
7058
});
7159
};
7260

7361
const removeBucket = (version) => {
7462
return new Promise((resolve, reject) => {
7563
console.log(`Removing s3://${BUCKET_NAME}/${DIRECTORY}${version}/`);
76-
exec(
77-
`aws s3 rm s3://${BUCKET_NAME}/${DIRECTORY}${version}/ --recursive`,
78-
(error, stdout, stderr) => {
79-
if (error) {
80-
throw new Error(error.message);
81-
}
82-
if (stderr) {
83-
throw new Error(stderr);
84-
}
85-
resolve(stdout);
64+
exec(`aws s3 rm s3://${BUCKET_NAME}/${DIRECTORY}${version}/ --recursive`, (error, stdout, stderr) => {
65+
if (error) {
66+
throw new Error(error.message);
8667
}
87-
);
68+
if (stderr) {
69+
throw new Error(stderr);
70+
}
71+
resolve(stdout);
72+
});
8873
});
8974
};
9075

@@ -109,29 +94,24 @@ const moveToBucket = (version) => {
10994
const updateRedirectionToLatest = (version) => {
11095
const redirection = `window.location.replace("https://developer.dxc.com/halstack/${version}/");`;
11196
return new Promise((resolve, reject) => {
112-
exec(
113-
`echo '${redirection}' | aws s3 cp - s3://${BUCKET_NAME}/${DIRECTORY}redirect.js`,
114-
(error, stdout, stderr) => {
115-
if (error) {
116-
throw new Error(error.message);
117-
}
118-
if (stderr) {
119-
throw new Error(stderr);
120-
}
121-
resolve(stdout);
97+
exec(`echo '${redirection}' | aws s3 cp - s3://${BUCKET_NAME}/${DIRECTORY}redirect.js`, (error, stdout, stderr) => {
98+
if (error) {
99+
throw new Error(error.message);
122100
}
123-
);
101+
if (stderr) {
102+
throw new Error(stderr);
103+
}
104+
resolve(stdout);
105+
});
124106
});
125107
};
126108

127109
const deploy = async () => {
128110
const versionToDeploy = process.argv[2];
129-
const majorVersionToDeploy = Number(
130-
versionToDeploy.substring(0, versionToDeploy.indexOf("."))
131-
);
111+
const majorVersionToDeploy = Number(versionToDeploy.split(".")[0]);
132112
const existingVersionsInBucket = await getVersionsInS3Bucket();
133113
const isNewLatest = !existingVersionsInBucket.includes(majorVersionToDeploy);
134-
await buildSite(majorVersionToDeploy);
114+
await buildSite(versionToDeploy);
135115
await removeBucket(majorVersionToDeploy);
136116
await moveToBucket(majorVersionToDeploy);
137117
const listAvailableVersions = await getVersionsInS3Bucket();
@@ -154,9 +134,7 @@ const updateAvailableVersions = async (versions, currentVersion) => {
154134
});
155135
return new Promise((resolve, reject) => {
156136
exec(
157-
`echo '${JSON.stringify(
158-
versionItems
159-
)}' | aws s3 cp - s3://${BUCKET_NAME}/${DIRECTORY}versions.json`,
137+
`echo '${JSON.stringify(versionItems)}' | aws s3 cp - s3://${BUCKET_NAME}/${DIRECTORY}versions.json`,
160138
(error, stdout, stderr) => {
161139
if (error) {
162140
throw new Error(error.message);

0 commit comments

Comments
 (0)