Skip to content

Commit 8903d7b

Browse files
author
HusneShabbir
committed
fix(homepage-e2e): merge chart dist + OCI dynamic plugins via patched e2e-test-utils
Bump @red-hat-developer-hub/e2e-test-utils to 1.1.18 and apply a Yarn patch so dynamic-plugins merging uses getNormalizedPluginMergeKey (collapses chart ./dynamic-plugins/dist entries with OCI overrides). Removes the redundant disabled dist stanza from dynamic-plugins.yaml to avoid install-dynamic-plugins init failures in e2e-ocp-helm. Made-with: Cursor
1 parent bee2458 commit 8903d7b

4 files changed

Lines changed: 81 additions & 13 deletions

File tree

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
diff --git a/dist/deployment/rhdh/deployment.js b/dist/deployment/rhdh/deployment.js
2+
index 8a491091b27dc0ec80b17e33258d340493553fbc..301ead10b741e8a6ae756d76f40ed3fcf09f3d92 100644
3+
--- a/dist/deployment/rhdh/deployment.js
4+
+++ b/dist/deployment/rhdh/deployment.js
5+
@@ -84,7 +84,12 @@ export class RHDHDeployment {
6+
// Merge with package defaults and auth config. Use normalized plugin key so
7+
// the same logical plugin (e.g. keycloak from metadata OCI + auth local path)
8+
// is deduplicated; metadata (source) wins so OCI URL is kept on PR builds.
9+
- const authPlugins = await mergeYamlFilesIfExists([DEFAULT_CONFIG_PATHS.dynamicPlugins, authConfig.dynamicPlugins], { arrayMergeStrategy: { byKey: "package" } });
10+
+ const authPlugins = await mergeYamlFilesIfExists([DEFAULT_CONFIG_PATHS.dynamicPlugins, authConfig.dynamicPlugins], {
11+
+ arrayMergeStrategy: {
12+
+ byKey: "package",
13+
+ normalizeKey: (item) => getNormalizedPluginMergeKey(item),
14+
+ },
15+
+ });
16+
return deepMerge(authPlugins, metadataConfig, {
17+
arrayMergeStrategy: {
18+
byKey: "package",
19+
@@ -97,7 +102,12 @@ export class RHDHDeployment {
20+
DEFAULT_CONFIG_PATHS.dynamicPlugins,
21+
authConfig.dynamicPlugins,
22+
userConfigPath,
23+
- ], { arrayMergeStrategy: { byKey: "package" } });
24+
+ ], {
25+
+ arrayMergeStrategy: {
26+
+ byKey: "package",
27+
+ normalizeKey: (item) => getNormalizedPluginMergeKey(item),
28+
+ },
29+
+ });
30+
// Inject plugin metadata configuration for plugins in the config
31+
dynamicPluginsConfig =
32+
await loadAndInjectPluginMetadata(dynamicPluginsConfig);

workspaces/homepage/e2e-tests/package.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
"devDependencies": {
2525
"@eslint/js": "^9.39.2",
2626
"@playwright/test": "1.57.0",
27-
"@red-hat-developer-hub/e2e-test-utils": "1.1.14",
27+
"@red-hat-developer-hub/e2e-test-utils": "1.1.18",
2828
"@types/node": "^24.10.1",
2929
"dotenv": "^16.4.7",
3030
"eslint": "^9.39.2",
@@ -33,5 +33,8 @@
3333
"prettier": "^3.7.4",
3434
"typescript": "^5.9.3",
3535
"typescript-eslint": "^8.50.0"
36+
},
37+
"resolutions": {
38+
"@red-hat-developer-hub/e2e-test-utils@1.1.18": "patch:@red-hat-developer-hub/e2e-test-utils@npm%3A1.1.18#./.yarn/patches/@red-hat-developer-hub-e2e-test-utils-npm-1.1.18-b9e4ec0633.patch"
3639
}
3740
}

workspaces/homepage/e2e-tests/tests/config/dynamic-plugins.yaml

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,5 @@
1-
# RHDH ships this plugin from dynamic-plugins.default.yaml as
2-
# ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-dynamic-home-page with default
3-
# dynamicRoutes. Enabling the same frontend plugin again via GHCR with different dynamicRoutes
4-
# makes install-dynamic-plugins.py fail merging pluginConfig. Disable the dist entry first
5-
# (same pattern as workspaces/scorecard/e2e-tests/tests/config/dynamic-plugins.yaml).
1+
# Test-specific home cards; chart dist + OCI merge in e2e-test-utils (yarn patch on 1.1.18).
62
plugins:
7-
- package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-dynamic-home-page
8-
disabled: true
93
- package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-dynamic-home-page:bs_1.45.3__1.10.4!red-hat-developer-hub-backstage-plugin-dynamic-home-page
104
disabled: false
115
pluginConfig:

workspaces/homepage/e2e-tests/yarn.lock

Lines changed: 44 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,16 @@ __metadata:
1616
languageName: node
1717
linkType: hard
1818

19+
"@backstage-community/plugin-rbac-common@npm:1.23.0":
20+
version: 1.23.0
21+
resolution: "@backstage-community/plugin-rbac-common@npm:1.23.0"
22+
peerDependencies:
23+
"@backstage/errors": ^1.2.7
24+
"@backstage/plugin-permission-common": ^0.9.5
25+
checksum: 8cbb67a4854b9a72d329459cf37d05628da4ca4c665fb1e9c34e2dcbcd8d4399264b00bab8e4ee786717e2c0c5b0e3db7ee4eee6705424047a799fbf311eb5f4
26+
languageName: node
27+
linkType: hard
28+
1929
"@eslint-community/eslint-utils@npm:^4.8.0, @eslint-community/eslint-utils@npm:^4.9.1":
2030
version: 4.9.1
2131
resolution: "@eslint-community/eslint-utils@npm:4.9.1"
@@ -291,11 +301,40 @@ __metadata:
291301
languageName: node
292302
linkType: hard
293303

294-
"@red-hat-developer-hub/e2e-test-utils@npm:1.1.14":
295-
version: 1.1.14
296-
resolution: "@red-hat-developer-hub/e2e-test-utils@npm:1.1.14"
304+
"@red-hat-developer-hub/e2e-test-utils@npm:1.1.18":
305+
version: 1.1.18
306+
resolution: "@red-hat-developer-hub/e2e-test-utils@npm:1.1.18"
307+
dependencies:
308+
"@axe-core/playwright": ^4.11.0
309+
"@backstage-community/plugin-rbac-common": 1.23.0
310+
"@eslint/js": ^9.39.1
311+
"@keycloak/keycloak-admin-client": ^26.0.0
312+
"@kubernetes/client-node": ^1.4.0
313+
eslint: ^9.39.1
314+
eslint-plugin-check-file: ^3.3.1
315+
eslint-plugin-playwright: ^2.4.0
316+
fs-extra: ^11.3.2
317+
js-yaml: ^4.1.1
318+
lodash.clonedeepwith: ^4.5.0
319+
lodash.mergewith: ^4.6.2
320+
otplib: 12.0.1
321+
prettier: ^3.7.4
322+
proper-lockfile: ^4.1.2
323+
typescript: ^5.9.3
324+
typescript-eslint: ^8.48.1
325+
zx: ^8.8.5
326+
peerDependencies:
327+
"@playwright/test": ^1.57.0
328+
checksum: 5d4905c47cba5abec532d6d71806c2e99093563437376964a8cb7e41a87a6862c7701f608adb94d7fb2c5036bbce04841e08e18955bf9fcd5e10b792cee90a44
329+
languageName: node
330+
linkType: hard
331+
332+
"@red-hat-developer-hub/e2e-test-utils@patch:@red-hat-developer-hub/e2e-test-utils@npm%3A1.1.18#./.yarn/patches/@red-hat-developer-hub-e2e-test-utils-npm-1.1.18-b9e4ec0633.patch::locator=homepage-e2e-tests%40workspace%3A.":
333+
version: 1.1.18
334+
resolution: "@red-hat-developer-hub/e2e-test-utils@patch:@red-hat-developer-hub/e2e-test-utils@npm%3A1.1.18#./.yarn/patches/@red-hat-developer-hub-e2e-test-utils-npm-1.1.18-b9e4ec0633.patch::version=1.1.18&hash=7174a6&locator=homepage-e2e-tests%40workspace%3A."
297335
dependencies:
298336
"@axe-core/playwright": ^4.11.0
337+
"@backstage-community/plugin-rbac-common": 1.23.0
299338
"@eslint/js": ^9.39.1
300339
"@keycloak/keycloak-admin-client": ^26.0.0
301340
"@kubernetes/client-node": ^1.4.0
@@ -314,7 +353,7 @@ __metadata:
314353
zx: ^8.8.5
315354
peerDependencies:
316355
"@playwright/test": ^1.57.0
317-
checksum: 22264a01c79284deaa18c455b6477b7ea304fca62f2517cf347c1fc51131003d58db383e04bfcc0e8ddbe231d819f9ae0b9ee5497b2b00a2cff56ed70c1a1339
356+
checksum: 2e9d73412938ed334076b852fc0bfdecde4c4cc94830175de584ee27e50bc263d4a941c29302a73666e16a570c4eda45d53e7dc0bb3dd3b4d21627fab1c1c86d
318357
languageName: node
319358
linkType: hard
320359

@@ -1360,7 +1399,7 @@ __metadata:
13601399
dependencies:
13611400
"@eslint/js": ^9.39.2
13621401
"@playwright/test": 1.57.0
1363-
"@red-hat-developer-hub/e2e-test-utils": 1.1.14
1402+
"@red-hat-developer-hub/e2e-test-utils": 1.1.18
13641403
"@types/node": ^24.10.1
13651404
dotenv: ^16.4.7
13661405
eslint: ^9.39.2

0 commit comments

Comments
 (0)