Skip to content

Commit 15b568e

Browse files
committed
Update Dockerfile to copy VERSION file and modify rspack.config.ts to read version from the file
1 parent f0b625e commit 15b568e

File tree

2 files changed

+16
-3
lines changed

2 files changed

+16
-3
lines changed

ui/Dockerfile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ WORKDIR /home/node
99
COPY package.json package-lock.json tsconfig.json /home/node/
1010
RUN npm ci --legacy-peer-deps
1111

12+
COPY VERSION /home/node/../VERSION
13+
1214
COPY entrypoint.sh /entrypoint.sh
1315

1416
ENTRYPOINT ["/entrypoint.sh"]

ui/rspack.config.ts

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,24 @@ import packageJson from './package.json';
33
import { Configuration } from '@rspack/cli';
44
import rspack from '@rspack/core';
55
import { ModuleFederationPlugin } from '@module-federation/enhanced/rspack';
6-
import { execSync } from 'node:child_process';
6+
import fs from 'fs';
77

88
const deps = packageJson.dependencies;
99

1010
const isProduction = process.env.NODE_ENV === 'production';
1111

12-
const revision = execSync('git rev-parse HEAD').toString().trim();
12+
let version = process.env.VERSION;
13+
if (!version) {
14+
const versionFileContents = fs.readFileSync(
15+
path.join(__dirname, '../VERSION'),
16+
{ encoding: 'utf-8' },
17+
);
18+
const versionRegex =
19+
/.*VERSION_MAJOR=(?<versionMajor>\d+)(\n){0,1}.*VERSION_MINOR=(?<versionMinor>\d+)(\n){0,1}.*VERSION_PATCH=(?<versionPatch>\d+)(\n){0,1}.*VERSION_SUFFIX=(?<versionSuffix>.*)/m;
20+
const { versionMajor, versionMinor, versionPatch, versionSuffix } =
21+
versionRegex.exec(versionFileContents).groups;
22+
version = `${versionMajor}.${versionMinor}.${versionPatch}${versionSuffix}`;
23+
}
1324

1425
const config: Configuration = {
1526
entry: {
@@ -100,7 +111,7 @@ const config: Configuration = {
100111
plugins: [
101112
new ModuleFederationPlugin({
102113
name: 'metalk8s',
103-
filename: `static/js/remoteEntry.${revision}.js`,
114+
filename: `static/js/remoteEntry.${version}.js`,
104115
exposes: {
105116
'./FederableApp': './src/FederableApp.tsx',
106117
'./platformLibrary': './src/services/platformlibrary/k8s.ts',

0 commit comments

Comments
 (0)