From a2c878118280f7cfeb4b7c0d8a103cdc0c71c6e1 Mon Sep 17 00:00:00 2001 From: Alessandro Barbarossa Date: Fri, 13 Dec 2024 12:51:24 +0100 Subject: [PATCH 1/6] fix: [e2e-tests] - fix verify TLS configuration with external Postgres DB test case (#2105) * add retry * add retry --- ...erify-tls-config-with-external-postgres-db.spec.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/e2e-tests/playwright/e2e/verify-tls-config-with-external-postgres-db.spec.ts b/e2e-tests/playwright/e2e/verify-tls-config-with-external-postgres-db.spec.ts index d8bb60fb41..106c466397 100644 --- a/e2e-tests/playwright/e2e/verify-tls-config-with-external-postgres-db.spec.ts +++ b/e2e-tests/playwright/e2e/verify-tls-config-with-external-postgres-db.spec.ts @@ -1,4 +1,4 @@ -import { test } from "@playwright/test"; +import { test, expect } from "@playwright/test"; import { UIhelper } from "../utils/ui-helper"; import { Common } from "../utils/common"; @@ -13,7 +13,12 @@ test.describe("Verify TLS configuration with external Postgres DB", () => { await uiHelper.verifyText("Quick Access"); await page.getByLabel("Catalog").click(); await uiHelper.selectMuiBox("Kind", "Component"); - await uiHelper.clickByDataTestId("user-picker-all"); - await uiHelper.verifyRowsInTable(["test-rhdh-qe-2-team-owned"]); + await expect(async () => { + await uiHelper.clickByDataTestId("user-picker-all"); + await uiHelper.verifyRowsInTable(["test-rhdh-qe-2-team-owned"]); + }).toPass({ + intervals: [1_000, 2_000], + timeout: 15_000, + }); }); }); From be380afec557e7a147b599b7cc9b0d0c0128c53f Mon Sep 17 00:00:00 2001 From: Omar Al Jaljuli Date: Fri, 13 Dec 2024 08:00:08 -0500 Subject: [PATCH 2/6] chore(e2e): re-enable tech radar test with fix (#2095) --- .ibm/pipelines/auth/secrets-rhdh-secrets.yaml | 2 +- .ibm/pipelines/env_variables.sh | 1 - .ibm/pipelines/utils.sh | 13 ++++--------- .../e2e/plugins/quick-access-and-tech-radar.spec.ts | 3 +-- 4 files changed, 6 insertions(+), 13 deletions(-) diff --git a/.ibm/pipelines/auth/secrets-rhdh-secrets.yaml b/.ibm/pipelines/auth/secrets-rhdh-secrets.yaml index e434164ebe..a1cfe7a91c 100644 --- a/.ibm/pipelines/auth/secrets-rhdh-secrets.yaml +++ b/.ibm/pipelines/auth/secrets-rhdh-secrets.yaml @@ -29,7 +29,7 @@ data: KEYCLOAK_CLIENT_ID: bXljbGllbnQ= KEYCLOAK_CLIENT_SECRET: dGVtcA== ACR_SECRET: dGVtcA== - DH_TARGET_URL: dGVzdC1iYWNrc3RhZ2UtY3VzdG9taXphdGlvbi1wcm92aWRlci1zaG93Y2FzZS1jaS5yaGRoLXByLW9zLWE5ODA1NjUwODMwYjIyYzNhZWUyNDNlNTFkNzk1NjVkLTAwMDAudXMtZWFzdC5jb250YWluZXJzLmFwcGRvbWFpbi5jbG91ZA== + DH_TARGET_URL: dGVtcA== GOOGLE_CLIENT_ID: dGVtcA== GOOGLE_CLIENT_SECRET: dGVtcA== RHDH_BASE_URL: dGVtcA== diff --git a/.ibm/pipelines/env_variables.sh b/.ibm/pipelines/env_variables.sh index fa2248d32d..f65cae705f 100755 --- a/.ibm/pipelines/env_variables.sh +++ b/.ibm/pipelines/env_variables.sh @@ -60,7 +60,6 @@ KEYCLOAK_REALM='myrealm' KEYCLOAK_CLIENT_ID='myclient' KEYCLOAK_CLIENT_SECRET=$(cat /tmp/secrets/KEYCLOAK_CLIENT_SECRET) ACR_SECRET=$(cat /tmp/secrets/ACR_SECRET) -DH_TARGET_URL=dGVzdC1iYWNrc3RhZ2UtY3VzdG9taXphdGlvbi1wcm92aWRlci1zaG93Y2FzZS1jaS5yaGRoLXByLW9zLWE5ODA1NjUwODMwYjIyYzNhZWUyNDNlNTFkNzk1NjVkLTAwMDAudXMtZWFzdC5jb250YWluZXJzLmFwcGRvbWFpbi5jbG91ZA== GOOGLE_CLIENT_ID=$(cat /tmp/secrets/GOOGLE_CLIENT_ID) GOOGLE_CLIENT_SECRET=$(cat /tmp/secrets/GOOGLE_CLIENT_SECRET) GOOGLE_ACC_COOKIE=$(cat /tmp/secrets/GOOGLE_ACC_COOKIE) diff --git a/.ibm/pipelines/utils.sh b/.ibm/pipelines/utils.sh index 0794e677c5..cae0016cc9 100755 --- a/.ibm/pipelines/utils.sh +++ b/.ibm/pipelines/utils.sh @@ -406,7 +406,7 @@ apply_yaml_files() { DH_TARGET_URL=$(echo -n "test-backstage-customization-provider-${project}.${K8S_CLUSTER_ROUTER_BASE}" | base64 -w 0) local RHDH_BASE_URL=$(echo -n "$rhdh_base_url" | base64 | tr -d '\n') - for key in GITHUB_APP_APP_ID GITHUB_APP_CLIENT_ID GITHUB_APP_PRIVATE_KEY GITHUB_APP_CLIENT_SECRET GITHUB_APP_JANUS_TEST_APP_ID GITHUB_APP_JANUS_TEST_CLIENT_ID GITHUB_APP_JANUS_TEST_CLIENT_SECRET GITHUB_APP_JANUS_TEST_PRIVATE_KEY GITHUB_APP_WEBHOOK_URL GITHUB_APP_WEBHOOK_SECRET KEYCLOAK_CLIENT_SECRET ACR_SECRET GOOGLE_CLIENT_ID GOOGLE_CLIENT_SECRET K8S_CLUSTER_TOKEN_ENCODED OCM_CLUSTER_URL GITLAB_TOKEN KEYCLOAK_AUTH_BASE_URL KEYCLOAK_AUTH_CLIENTID KEYCLOAK_AUTH_CLIENT_SECRET KEYCLOAK_AUTH_LOGIN_REALM KEYCLOAK_AUTH_REALM RHDH_BASE_URL; do + for key in GITHUB_APP_APP_ID GITHUB_APP_CLIENT_ID GITHUB_APP_PRIVATE_KEY GITHUB_APP_CLIENT_SECRET GITHUB_APP_JANUS_TEST_APP_ID GITHUB_APP_JANUS_TEST_CLIENT_ID GITHUB_APP_JANUS_TEST_CLIENT_SECRET GITHUB_APP_JANUS_TEST_PRIVATE_KEY GITHUB_APP_WEBHOOK_URL GITHUB_APP_WEBHOOK_SECRET KEYCLOAK_CLIENT_SECRET ACR_SECRET GOOGLE_CLIENT_ID GOOGLE_CLIENT_SECRET K8S_CLUSTER_TOKEN_ENCODED OCM_CLUSTER_URL GITLAB_TOKEN KEYCLOAK_AUTH_BASE_URL KEYCLOAK_AUTH_CLIENTID KEYCLOAK_AUTH_CLIENT_SECRET KEYCLOAK_AUTH_LOGIN_REALM KEYCLOAK_AUTH_REALM RHDH_BASE_URL DH_TARGET_URL; do sed -i "s|${key}:.*|${key}: ${!key}|g" "$dir/auth/secrets-rhdh-secrets.yaml" done @@ -462,14 +462,9 @@ deploy_test_backstage_provider() { else echo "BuildConfig for test-backstage-customization-provider already exists in ${project}. Skipping new-app creation." fi - - # Ensure the service exists - if ! oc get service test-backstage-customization-provider -n "${project}" >/dev/null 2>&1; then - echo "Exposing service for test-backstage-customization-provider" - oc expose svc/test-backstage-customization-provider --namespace="${project}" - else - echo "Service test-backstage-customization-provider is already exposed in ${project}." - fi + + echo "Exposing service for test-backstage-customization-provider" + oc expose svc/test-backstage-customization-provider --namespace="${project}" } create_app_config_map() { diff --git a/e2e-tests/playwright/e2e/plugins/quick-access-and-tech-radar.spec.ts b/e2e-tests/playwright/e2e/plugins/quick-access-and-tech-radar.spec.ts index 298616d2af..f8937bad94 100644 --- a/e2e-tests/playwright/e2e/plugins/quick-access-and-tech-radar.spec.ts +++ b/e2e-tests/playwright/e2e/plugins/quick-access-and-tech-radar.spec.ts @@ -19,8 +19,7 @@ test.describe("Test Customized Quick Access and tech-radar plugin", () => { await homePage.verifyQuickAccess("SECURITY TOOLS", "Keycloak", true); }); - // TODO: Investigate why Tech Radar is showing "Process" instead of "Storage". - test.skip("Verify tech-radar", async ({ page }) => { + test("Verify tech-radar", async ({ page }) => { const uiHelper = new UIhelper(page); const techRadar = new TechRadar(page); From 2819718ad9d0ec23f0d0bedcc71551e2c43d7f5f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 14 Dec 2024 15:59:20 +0000 Subject: [PATCH 3/6] fix(deps): update material-ui (non-major) to v5.16.11 (#2107) Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .../package.json | 4 +- .../package.json | 2 +- .../package.json | 2 +- .../package.json | 2 +- .../package.json | 2 +- .../package.json | 2 +- .../package.json | 2 +- .../package.json | 2 +- .../package.json | 2 +- .../package.json | 2 +- .../package.json | 2 +- .../package.json | 2 +- .../backstage-plugin-signals/package.json | 2 +- .../package.json | 2 +- .../package.json | 2 +- packages/app/package.json | 4 +- plugins/dynamic-plugins-info/package.json | 4 +- yarn.lock | 100 ++++++++++++++---- 18 files changed, 98 insertions(+), 42 deletions(-) diff --git a/dynamic-plugins/wrappers/backstage-community-plugin-acr/package.json b/dynamic-plugins/wrappers/backstage-community-plugin-acr/package.json index 7dedc79c22..1fa4f910a8 100644 --- a/dynamic-plugins/wrappers/backstage-community-plugin-acr/package.json +++ b/dynamic-plugins/wrappers/backstage-community-plugin-acr/package.json @@ -30,8 +30,8 @@ "dependencies": { "@backstage-community/plugin-acr": "1.8.5", "@backstage/core-plugin-api": "1.10.0", - "@mui/icons-material": "5.16.9", - "@mui/material": "5.16.9" + "@mui/icons-material": "5.16.11", + "@mui/material": "5.16.11" }, "devDependencies": { "@backstage/cli": "0.28.2", diff --git a/dynamic-plugins/wrappers/backstage-community-plugin-jfrog-artifactory/package.json b/dynamic-plugins/wrappers/backstage-community-plugin-jfrog-artifactory/package.json index 7a2f8c857d..44870fd482 100644 --- a/dynamic-plugins/wrappers/backstage-community-plugin-jfrog-artifactory/package.json +++ b/dynamic-plugins/wrappers/backstage-community-plugin-jfrog-artifactory/package.json @@ -30,7 +30,7 @@ }, "dependencies": { "@backstage-community/plugin-jfrog-artifactory": "1.10.2", - "@mui/material": "5.16.9" + "@mui/material": "5.16.11" }, "devDependencies": { "@backstage/cli": "0.28.2", diff --git a/dynamic-plugins/wrappers/backstage-community-plugin-lighthouse/package.json b/dynamic-plugins/wrappers/backstage-community-plugin-lighthouse/package.json index da5a706b3d..a7eb2d0508 100644 --- a/dynamic-plugins/wrappers/backstage-community-plugin-lighthouse/package.json +++ b/dynamic-plugins/wrappers/backstage-community-plugin-lighthouse/package.json @@ -29,7 +29,7 @@ }, "dependencies": { "@backstage-community/plugin-lighthouse": "0.4.24", - "@mui/icons-material": "5.16.9" + "@mui/icons-material": "5.16.11" }, "devDependencies": { "@backstage/cli": "0.28.2", diff --git a/dynamic-plugins/wrappers/backstage-community-plugin-nexus-repository-manager/package.json b/dynamic-plugins/wrappers/backstage-community-plugin-nexus-repository-manager/package.json index 0b1fec4119..c7407b1b0d 100644 --- a/dynamic-plugins/wrappers/backstage-community-plugin-nexus-repository-manager/package.json +++ b/dynamic-plugins/wrappers/backstage-community-plugin-nexus-repository-manager/package.json @@ -28,7 +28,7 @@ }, "dependencies": { "@backstage-community/plugin-nexus-repository-manager": "1.10.6", - "@mui/material": "5.16.9" + "@mui/material": "5.16.11" }, "devDependencies": { "@backstage/cli": "0.28.2", diff --git a/dynamic-plugins/wrappers/backstage-community-plugin-ocm/package.json b/dynamic-plugins/wrappers/backstage-community-plugin-ocm/package.json index 3c3dde0350..82bc653ac0 100644 --- a/dynamic-plugins/wrappers/backstage-community-plugin-ocm/package.json +++ b/dynamic-plugins/wrappers/backstage-community-plugin-ocm/package.json @@ -29,7 +29,7 @@ }, "dependencies": { "@backstage-community/plugin-ocm": "5.2.4", - "@mui/material": "5.16.9" + "@mui/material": "5.16.11" }, "devDependencies": { "@backstage/cli": "0.28.2", diff --git a/dynamic-plugins/wrappers/backstage-community-plugin-quay/package.json b/dynamic-plugins/wrappers/backstage-community-plugin-quay/package.json index de36413131..102d2f6d79 100644 --- a/dynamic-plugins/wrappers/backstage-community-plugin-quay/package.json +++ b/dynamic-plugins/wrappers/backstage-community-plugin-quay/package.json @@ -30,7 +30,7 @@ }, "dependencies": { "@backstage-community/plugin-quay": "1.14.4", - "@mui/material": "5.16.9" + "@mui/material": "5.16.11" }, "devDependencies": { "@backstage/cli": "0.28.2", diff --git a/dynamic-plugins/wrappers/backstage-community-plugin-rbac/package.json b/dynamic-plugins/wrappers/backstage-community-plugin-rbac/package.json index f13178bb4b..df13008ec6 100644 --- a/dynamic-plugins/wrappers/backstage-community-plugin-rbac/package.json +++ b/dynamic-plugins/wrappers/backstage-community-plugin-rbac/package.json @@ -29,7 +29,7 @@ }, "dependencies": { "@backstage-community/plugin-rbac": "1.33.2", - "@mui/material": "5.16.9" + "@mui/material": "5.16.11" }, "devDependencies": { "@backstage/cli": "0.28.2", diff --git a/dynamic-plugins/wrappers/backstage-community-plugin-redhat-argocd/package.json b/dynamic-plugins/wrappers/backstage-community-plugin-redhat-argocd/package.json index e4df380539..eed8c6d54c 100644 --- a/dynamic-plugins/wrappers/backstage-community-plugin-redhat-argocd/package.json +++ b/dynamic-plugins/wrappers/backstage-community-plugin-redhat-argocd/package.json @@ -40,7 +40,7 @@ }, "dependencies": { "@backstage-community/plugin-redhat-argocd": "1.11.0", - "@mui/material": "5.16.9" + "@mui/material": "5.16.11" }, "devDependencies": { "@backstage/cli": "0.28.2", diff --git a/dynamic-plugins/wrappers/backstage-community-plugin-tech-radar/package.json b/dynamic-plugins/wrappers/backstage-community-plugin-tech-radar/package.json index 9463142a73..e7e86d07bb 100644 --- a/dynamic-plugins/wrappers/backstage-community-plugin-tech-radar/package.json +++ b/dynamic-plugins/wrappers/backstage-community-plugin-tech-radar/package.json @@ -32,7 +32,7 @@ "@backstage-community/plugin-tech-radar": "1.0.0", "@backstage-community/plugin-tech-radar-common": "1.0.0", "@backstage/core-plugin-api": "1.10.0", - "@mui/icons-material": "5.16.9" + "@mui/icons-material": "5.16.11" }, "devDependencies": { "@backstage/cli": "0.28.2", diff --git a/dynamic-plugins/wrappers/backstage-community-plugin-tekton/package.json b/dynamic-plugins/wrappers/backstage-community-plugin-tekton/package.json index d6dfa4824e..6234e58ca1 100644 --- a/dynamic-plugins/wrappers/backstage-community-plugin-tekton/package.json +++ b/dynamic-plugins/wrappers/backstage-community-plugin-tekton/package.json @@ -29,7 +29,7 @@ }, "dependencies": { "@backstage-community/plugin-tekton": "3.16.2", - "@mui/material": "5.16.9" + "@mui/material": "5.16.11" }, "devDependencies": { "@backstage/cli": "0.28.2", diff --git a/dynamic-plugins/wrappers/backstage-community-plugin-topology/package.json b/dynamic-plugins/wrappers/backstage-community-plugin-topology/package.json index 906c13d506..c86ad80fec 100644 --- a/dynamic-plugins/wrappers/backstage-community-plugin-topology/package.json +++ b/dynamic-plugins/wrappers/backstage-community-plugin-topology/package.json @@ -40,7 +40,7 @@ }, "dependencies": { "@backstage-community/plugin-topology": "1.29.7", - "@mui/material": "5.16.9" + "@mui/material": "5.16.11" }, "devDependencies": { "@backstage/cli": "0.28.2", diff --git a/dynamic-plugins/wrappers/backstage-plugin-notifications/package.json b/dynamic-plugins/wrappers/backstage-plugin-notifications/package.json index ae828429a5..f1eedff7da 100644 --- a/dynamic-plugins/wrappers/backstage-plugin-notifications/package.json +++ b/dynamic-plugins/wrappers/backstage-plugin-notifications/package.json @@ -30,7 +30,7 @@ }, "dependencies": { "@backstage/plugin-notifications": "0.3.2", - "@mui/material": "5.16.9" + "@mui/material": "5.16.11" }, "devDependencies": { "@backstage/cli": "0.28.2", diff --git a/dynamic-plugins/wrappers/backstage-plugin-signals/package.json b/dynamic-plugins/wrappers/backstage-plugin-signals/package.json index cb18c5555e..b5d2d53041 100644 --- a/dynamic-plugins/wrappers/backstage-plugin-signals/package.json +++ b/dynamic-plugins/wrappers/backstage-plugin-signals/package.json @@ -30,7 +30,7 @@ }, "dependencies": { "@backstage/plugin-signals": "0.0.11", - "@mui/material": "5.16.9" + "@mui/material": "5.16.11" }, "devDependencies": { "@backstage/cli": "0.28.2", diff --git a/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-bulk-import/package.json b/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-bulk-import/package.json index a2898e89fb..e1d805973d 100644 --- a/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-bulk-import/package.json +++ b/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-bulk-import/package.json @@ -29,7 +29,7 @@ "export-dynamic:clean": "run export-dynamic --clean" }, "dependencies": { - "@mui/material": "5.16.9", + "@mui/material": "5.16.11", "@red-hat-developer-hub/backstage-plugin-bulk-import": "1.10.3" }, "devDependencies": { diff --git a/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-dynamic-home-page/package.json b/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-dynamic-home-page/package.json index 61b101d6d6..f265399759 100644 --- a/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-dynamic-home-page/package.json +++ b/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-dynamic-home-page/package.json @@ -28,7 +28,7 @@ "export-dynamic:clean": "run export-dynamic --clean" }, "dependencies": { - "@mui/material": "5.16.9", + "@mui/material": "5.16.11", "@red-hat-developer-hub/backstage-plugin-dynamic-home-page": "1.0.1" }, "devDependencies": { diff --git a/packages/app/package.json b/packages/app/package.json index 9b4d0fd724..d0ae3fe728 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -42,8 +42,8 @@ "@emotion/styled": "11.14.0", "@internal/plugin-dynamic-plugins-info": "*", "@janus-idp/backstage-plugin-rbac-common": "1.12.0", - "@mui/icons-material": "5.16.9", - "@mui/material": "5.16.9", + "@mui/icons-material": "5.16.11", + "@mui/material": "5.16.11", "@mui/styled-engine": "5.16.8", "@redhat-developer/red-hat-developer-hub-theme": "0.4.0", "@scalprum/core": "0.8.1", diff --git a/plugins/dynamic-plugins-info/package.json b/plugins/dynamic-plugins-info/package.json index ecc8283f83..77af76cab0 100644 --- a/plugins/dynamic-plugins-info/package.json +++ b/plugins/dynamic-plugins-info/package.json @@ -37,8 +37,8 @@ "@backstage/core-plugin-api": "1.10.0", "@backstage/theme": "0.6.0", "@material-table/core": "3.2.5", - "@mui/icons-material": "5.16.9", - "@mui/material": "5.16.9", + "@mui/icons-material": "5.16.11", + "@mui/material": "5.16.11", "react-use": "17.5.1" }, "peerDependencies": { diff --git a/yarn.lock b/yarn.lock index 2a1432acb1..f956984c4d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10754,8 +10754,8 @@ __metadata: "@backstage/test-utils": 1.7.0 "@backstage/theme": 0.6.0 "@material-table/core": 3.2.5 - "@mui/icons-material": 5.16.9 - "@mui/material": 5.16.9 + "@mui/icons-material": 5.16.11 + "@mui/material": 5.16.11 "@testing-library/jest-dom": 6.6.3 "@testing-library/react": 14.3.1 "@testing-library/user-event": 14.5.2 @@ -12428,6 +12428,13 @@ __metadata: languageName: node linkType: hard +"@mui/core-downloads-tracker@npm:^5.16.11": + version: 5.16.11 + resolution: "@mui/core-downloads-tracker@npm:5.16.11" + checksum: 87243dedefde3ec4b9b9b84185d48598bc9b0966e829a1d656f47a72e739e3f07a31039d5c010894620693916f53cc146f2870c422d824eca93a8c6ac2d00498 + languageName: node + linkType: hard + "@mui/core-downloads-tracker@npm:^5.16.7, @mui/core-downloads-tracker@npm:^5.16.9": version: 5.16.9 resolution: "@mui/core-downloads-tracker@npm:5.16.9" @@ -12451,6 +12458,22 @@ __metadata: languageName: node linkType: hard +"@mui/icons-material@npm:5.16.11": + version: 5.16.11 + resolution: "@mui/icons-material@npm:5.16.11" + dependencies: + "@babel/runtime": ^7.23.9 + peerDependencies: + "@mui/material": ^5.0.0 + "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 + react: ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 52adff10e2341471fea4b69afcb3c9608f8ace60280ac025ab5cef2c9bbb85b66ab1e6edc86306bf857d2a528a0029b37f1259b838113d70989ab32e8a49955a + languageName: node + linkType: hard + "@mui/icons-material@npm:5.16.4": version: 5.16.4 resolution: "@mui/icons-material@npm:5.16.4" @@ -12467,7 +12490,7 @@ __metadata: languageName: node linkType: hard -"@mui/icons-material@npm:5.16.9, @mui/icons-material@npm:^5.15.19, @mui/icons-material@npm:^5.16.4, @mui/icons-material@npm:^5.16.7": +"@mui/icons-material@npm:^5.15.19, @mui/icons-material@npm:^5.16.4, @mui/icons-material@npm:^5.16.7": version: 5.16.9 resolution: "@mui/icons-material@npm:5.16.9" dependencies: @@ -12528,6 +12551,39 @@ __metadata: languageName: node linkType: hard +"@mui/material@npm:5.16.11": + version: 5.16.11 + resolution: "@mui/material@npm:5.16.11" + dependencies: + "@babel/runtime": ^7.23.9 + "@mui/core-downloads-tracker": ^5.16.11 + "@mui/system": ^5.16.8 + "@mui/types": ^7.2.15 + "@mui/utils": ^5.16.8 + "@popperjs/core": ^2.11.8 + "@types/react-transition-group": ^4.4.10 + clsx: ^2.1.0 + csstype: ^3.1.3 + prop-types: ^15.8.1 + react-is: ^18.3.1 + react-transition-group: ^4.4.5 + peerDependencies: + "@emotion/react": ^11.5.0 + "@emotion/styled": ^11.3.0 + "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 + react: ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + "@emotion/react": + optional: true + "@emotion/styled": + optional: true + "@types/react": + optional: true + checksum: 6a30ba51377e746ce48181663e9db799c2c78d32759f76a1d69f478f205d15f1fd4ce0d55601d2dbee3ffd341eb978aceb59912d00edff07bd573ecff9600cea + languageName: node + linkType: hard + "@mui/material@npm:5.16.7": version: 5.16.7 resolution: "@mui/material@npm:5.16.7" @@ -12561,7 +12617,7 @@ __metadata: languageName: node linkType: hard -"@mui/material@npm:5.16.9, @mui/material@npm:^5.12.2, @mui/material@npm:^5.14.18, @mui/material@npm:^5.15.17, @mui/material@npm:^5.15.19, @mui/material@npm:^5.16.7": +"@mui/material@npm:^5.12.2, @mui/material@npm:^5.14.18, @mui/material@npm:^5.15.17, @mui/material@npm:^5.15.19, @mui/material@npm:^5.16.7": version: 5.16.9 resolution: "@mui/material@npm:5.16.9" dependencies: @@ -21634,8 +21690,8 @@ __metadata: "@internal/plugin-dynamic-plugins-info": "*" "@janus-idp/backstage-plugin-rbac-common": 1.12.0 "@janus-idp/cli": 1.18.5 - "@mui/icons-material": 5.16.9 - "@mui/material": 5.16.9 + "@mui/icons-material": 5.16.11 + "@mui/material": 5.16.11 "@mui/styled-engine": 5.16.8 "@redhat-developer/red-hat-developer-hub-theme": 0.4.0 "@scalprum/core": 0.8.1 @@ -22481,8 +22537,8 @@ __metadata: "@backstage/cli": 0.28.2 "@backstage/core-plugin-api": 1.10.0 "@janus-idp/cli": 1.18.5 - "@mui/icons-material": 5.16.9 - "@mui/material": 5.16.9 + "@mui/icons-material": 5.16.11 + "@mui/material": 5.16.11 typescript: 5.6.3 languageName: unknown linkType: soft @@ -22615,7 +22671,7 @@ __metadata: "@backstage-community/plugin-jfrog-artifactory": 1.10.2 "@backstage/cli": 0.28.2 "@janus-idp/cli": 1.18.5 - "@mui/material": 5.16.9 + "@mui/material": 5.16.11 typescript: 5.6.3 languageName: unknown linkType: soft @@ -22627,7 +22683,7 @@ __metadata: "@backstage-community/plugin-lighthouse": 0.4.24 "@backstage/cli": 0.28.2 "@janus-idp/cli": 1.18.5 - "@mui/icons-material": 5.16.9 + "@mui/icons-material": 5.16.11 typescript: 5.6.3 languageName: unknown linkType: soft @@ -22639,7 +22695,7 @@ __metadata: "@backstage-community/plugin-nexus-repository-manager": 1.10.6 "@backstage/cli": 0.28.2 "@janus-idp/cli": 1.18.5 - "@mui/material": 5.16.9 + "@mui/material": 5.16.11 typescript: 5.6.3 languageName: unknown linkType: soft @@ -22662,7 +22718,7 @@ __metadata: "@backstage-community/plugin-ocm": 5.2.4 "@backstage/cli": 0.28.2 "@janus-idp/cli": 1.18.5 - "@mui/material": 5.16.9 + "@mui/material": 5.16.11 typescript: 5.6.3 languageName: unknown linkType: soft @@ -22674,7 +22730,7 @@ __metadata: "@backstage-community/plugin-quay": 1.14.4 "@backstage/cli": 0.28.2 "@janus-idp/cli": 1.18.5 - "@mui/material": 5.16.9 + "@mui/material": 5.16.11 typescript: 5.6.3 languageName: unknown linkType: soft @@ -22686,7 +22742,7 @@ __metadata: "@backstage-community/plugin-rbac": 1.33.2 "@backstage/cli": 0.28.2 "@janus-idp/cli": 1.18.5 - "@mui/material": 5.16.9 + "@mui/material": 5.16.11 typescript: 5.6.3 languageName: unknown linkType: soft @@ -22698,7 +22754,7 @@ __metadata: "@backstage-community/plugin-redhat-argocd": 1.11.0 "@backstage/cli": 0.28.2 "@janus-idp/cli": 1.18.5 - "@mui/material": 5.16.9 + "@mui/material": 5.16.11 typescript: 5.6.3 languageName: unknown linkType: soft @@ -22789,7 +22845,7 @@ __metadata: "@backstage/cli": 0.28.2 "@backstage/core-plugin-api": 1.10.0 "@janus-idp/cli": 1.18.5 - "@mui/icons-material": 5.16.9 + "@mui/icons-material": 5.16.11 typescript: 5.6.3 languageName: unknown linkType: soft @@ -22801,7 +22857,7 @@ __metadata: "@backstage-community/plugin-tekton": 3.16.2 "@backstage/cli": 0.28.2 "@janus-idp/cli": 1.18.5 - "@mui/material": 5.16.9 + "@mui/material": 5.16.11 typescript: 5.6.3 languageName: unknown linkType: soft @@ -22813,7 +22869,7 @@ __metadata: "@backstage-community/plugin-topology": 1.29.7 "@backstage/cli": 0.28.2 "@janus-idp/cli": 1.18.5 - "@mui/material": 5.16.9 + "@mui/material": 5.16.11 typescript: 5.6.3 languageName: unknown linkType: soft @@ -22958,7 +23014,7 @@ __metadata: "@backstage/cli": 0.28.2 "@backstage/plugin-notifications": 0.3.2 "@janus-idp/cli": 1.18.5 - "@mui/material": 5.16.9 + "@mui/material": 5.16.11 typescript: 5.6.3 languageName: unknown linkType: soft @@ -23047,7 +23103,7 @@ __metadata: "@backstage/cli": 0.28.2 "@backstage/plugin-signals": 0.0.11 "@janus-idp/cli": 1.18.5 - "@mui/material": 5.16.9 + "@mui/material": 5.16.11 typescript: 5.6.3 languageName: unknown linkType: soft @@ -39947,7 +40003,7 @@ __metadata: dependencies: "@backstage/cli": 0.28.2 "@janus-idp/cli": 1.18.5 - "@mui/material": 5.16.9 + "@mui/material": 5.16.11 "@red-hat-developer-hub/backstage-plugin-bulk-import": 1.10.3 typescript: 5.6.3 languageName: unknown @@ -39959,7 +40015,7 @@ __metadata: dependencies: "@backstage/cli": 0.28.2 "@janus-idp/cli": 1.18.5 - "@mui/material": 5.16.9 + "@mui/material": 5.16.11 "@red-hat-developer-hub/backstage-plugin-dynamic-home-page": 1.0.1 typescript: 5.6.3 languageName: unknown From 49f115e6bb1ed790d23e2de75132b2d7b5fa2567 Mon Sep 17 00:00:00 2001 From: Omar Al Jaljuli Date: Mon, 16 Dec 2024 11:48:51 -0500 Subject: [PATCH 4/6] chore(e2e): automate E2E scenario with use of Operator for installation refactored (#2088) --- .ibm/images/Dockerfile | 16 ++++- .ibm/pipelines/env_variables.sh | 1 + .ibm/pipelines/jobs/operator.sh | 67 ++++++++++++++++++- .../cluster-role-binding-ocm.yaml | 6 ++ .../config_map/app-config-rhdh-rbac.yaml | 4 ++ .../resources/config_map/app-config-rhdh.yaml | 4 ++ .../rhdh-operator/rhdh-start-rbac.yaml | 19 ++++++ .../resources/rhdh-operator/rhdh-start.yaml | 17 +++++ .ibm/pipelines/utils.sh | 13 +++- e2e-tests/package.json | 2 + e2e-tests/playwright.config.ts | 29 ++++++++ 11 files changed, 174 insertions(+), 4 deletions(-) create mode 100644 .ibm/pipelines/resources/rhdh-operator/rhdh-start-rbac.yaml create mode 100644 .ibm/pipelines/resources/rhdh-operator/rhdh-start.yaml diff --git a/.ibm/images/Dockerfile b/.ibm/images/Dockerfile index a16a8fcc37..92c1d6c9ce 100644 --- a/.ibm/images/Dockerfile +++ b/.ibm/images/Dockerfile @@ -56,5 +56,19 @@ RUN echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages. apt-get install google-cloud-cli google-cloud-sdk-gke-gcloud-auth-plugin -y && \ rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* -# Set working directory +# Install skopeo +RUN apt-get update -y && \ + apt-get install -y skopeo + +# Install umoci +RUN curl -LO "https://github.com/opencontainers/umoci/releases/download/v0.4.7/umoci.amd64" && \ + chmod +x umoci.amd64 && \ + mv umoci.amd64 /usr/local/bin/umoci + +# Install opm +RUN curl -LO "https://github.com/operator-framework/operator-registry/releases/download/v1.23.0/linux-amd64-opm" && \ + chmod +x linux-amd64-opm && \ + mv linux-amd64-opm /usr/local/bin/opm + +# Set working directory WORKDIR /tmp/ diff --git a/.ibm/pipelines/env_variables.sh b/.ibm/pipelines/env_variables.sh index f65cae705f..d0ce3f2776 100755 --- a/.ibm/pipelines/env_variables.sh +++ b/.ibm/pipelines/env_variables.sh @@ -23,6 +23,7 @@ NAME_SPACE_RBAC="${NAME_SPACE_RBAC:-showcase-rbac}" NAME_SPACE_RUNTIME="${NAME_SPACE_RUNTIME:-showcase-runtime}" NAME_SPACE_POSTGRES_DB="${NAME_SPACE_POSTGRES_DB:-postgress-external-db}" NAME_SPACE_RDS="showcase-rds-nightly" +OPERATOR_MANAGER='rhdh-operator' CHART_VERSION="2.15.2" GITHUB_APP_APP_ID=$(cat /tmp/secrets/GITHUB_APP_3_APP_ID) GITHUB_APP_CLIENT_ID=$(cat /tmp/secrets/GITHUB_APP_3_CLIENT_ID) diff --git a/.ibm/pipelines/jobs/operator.sh b/.ibm/pipelines/jobs/operator.sh index ed0095a32d..e6273af016 100644 --- a/.ibm/pipelines/jobs/operator.sh +++ b/.ibm/pipelines/jobs/operator.sh @@ -1,8 +1,71 @@ #!/bin/sh +install_rhdh_operator() { + local dir=$1 + local namespace=$2 + + configure_namespace $namespace + + # Make sure script is up to date + rm -f /tmp/install-rhdh-catalog-source.sh + curl -L https://raw.githubusercontent.com/redhat-developer/rhdh-operator/refs/heads/main/.rhdh/scripts/install-rhdh-catalog-source.sh > /tmp/install-rhdh-catalog-source.sh + chmod +x /tmp/install-rhdh-catalog-source.sh + bash -x /tmp/install-rhdh-catalog-source.sh --next --install-operator rhdh + + # Wait for Operator to finish unpacking + sleep 30 +} + +deploy_rhdh_operator() { + local dir=$1 + local namespace=$2 + + if ! oc get crd/backstages.rhdh.redhat.com -n "${namespace}" >/dev/null 2>&1; then + echo "Backstage CRD is still not ready, waiting 30 secs..." + sleep 30 + fi + + if [[ "${namespace}" == "showcase-op-rbac-nightly" ]]; then + oc apply -f "${dir}/resources/rhdh-operator/rhdh-start-rbac.yaml" -n "${namespace}" + else + oc apply -f "${dir}/resources/rhdh-operator/rhdh-start.yaml" -n "${namespace}" + fi +} + +initiate_operator_deployments() { + configure_namespace "${OPERATOR_MANAGER}" + install_rhdh_operator "${DIR}" "${OPERATOR_MANAGER}" + + configure_namespace "${NAME_SPACE}" + deploy_test_backstage_provider "${NAME_SPACE}" + local rhdh_base_url="https://backstage-${RELEASE_NAME}-${NAME_SPACE}.${K8S_CLUSTER_ROUTER_BASE}" + apply_yaml_files "${DIR}" "${NAME_SPACE}" "${rhdh_base_url}" + create_dynamic_plugins_config "${DIR}/value_files/${HELM_CHART_VALUE_FILE_NAME}" "/tmp/configmap-dynamic-plugins.yaml" + oc apply -f /tmp/configmap-dynamic-plugins.yaml -n "${NAME_SPACE}" + oc apply -f "$DIR/resources/redis-cache/redis-deployment.yaml" --namespace="${NAME_SPACE}" + deploy_rhdh_operator "${DIR}" "${NAME_SPACE}" + + configure_namespace "${NAME_SPACE_RBAC}" + local rbac_rhdh_base_url="https://backstage-${RELEASE_NAME_RBAC}-${NAME_SPACE_RBAC}.${K8S_CLUSTER_ROUTER_BASE}" + apply_yaml_files "${DIR}" "${NAME_SPACE_RBAC}" "${rbac_rhdh_base_url}" + create_dynamic_plugins_config "${DIR}/value_files/${HELM_CHART_RBAC_VALUE_FILE_NAME}" "/tmp/configmap-dynamic-plugins-rbac.yaml" + oc apply -f /tmp/configmap-dynamic-plugins-rbac.yaml -n "${NAME_SPACE_RBAC}" + deploy_rhdh_operator "${DIR}" "${NAME_SPACE_RBAC}" +} + handle_operator() { oc_login - apply_yaml_files "${DIR}" "${NAME_SPACE}" - deploy_test_backstage_provider "${NAME_SPACE}" + API_SERVER_URL=$(oc whoami --show-server) + ENCODED_API_SERVER_URL=$(echo "${API_SERVER_URL}" | base64) + ENCODED_CLUSTER_NAME=$(echo "my-cluster" | base64) + + export K8S_CLUSTER_ROUTER_BASE=$(oc get route console -n openshift-console -o=jsonpath='{.spec.host}' | sed 's/^[^.]*\.//') + local url="https://backstage-${RELEASE_NAME}-${NAME_SPACE}.${K8S_CLUSTER_ROUTER_BASE}" + local rbac_url="https://backstage-${RELEASE_NAME_RBAC}-${NAME_SPACE_RBAC}.${K8S_CLUSTER_ROUTER_BASE}" + + cluster_setup + initiate_operator_deployments + check_and_test "${RELEASE_NAME}" "${NAME_SPACE}" "${url}" + check_and_test "${RELEASE_NAME_RBAC}" "${NAME_SPACE_RBAC}" "${rbac_url}" } diff --git a/.ibm/pipelines/resources/cluster_role_binding/cluster-role-binding-ocm.yaml b/.ibm/pipelines/resources/cluster_role_binding/cluster-role-binding-ocm.yaml index 8cd8b1525d..bca2481f39 100644 --- a/.ibm/pipelines/resources/cluster_role_binding/cluster-role-binding-ocm.yaml +++ b/.ibm/pipelines/resources/cluster_role_binding/cluster-role-binding-ocm.yaml @@ -13,3 +13,9 @@ subjects: - kind: ServiceAccount name: rhdh-k8s-plugin namespace: showcase-ci-nightly + - kind: ServiceAccount + name: rhdh-k8s-plugin + namespace: showcase-operator-nightly + - kind: ServiceAccount + name: rhdh-k8s-plugin + namespace: showcase-op-rbac-nightly \ No newline at end of file diff --git a/.ibm/pipelines/resources/config_map/app-config-rhdh-rbac.yaml b/.ibm/pipelines/resources/config_map/app-config-rhdh-rbac.yaml index b951b8b68b..397dedc75e 100644 --- a/.ibm/pipelines/resources/config_map/app-config-rhdh-rbac.yaml +++ b/.ibm/pipelines/resources/config_map/app-config-rhdh-rbac.yaml @@ -1,6 +1,10 @@ app: + baseUrl: ${RHDH_BASE_URL} title: Red Hat Developer Hub backend: + baseUrl: ${RHDH_BASE_URL} + cors: + origin: ${RHDH_BASE_URL} auth: keys: - secret: temp diff --git a/.ibm/pipelines/resources/config_map/app-config-rhdh.yaml b/.ibm/pipelines/resources/config_map/app-config-rhdh.yaml index a2a5411046..9d7d7d35ea 100644 --- a/.ibm/pipelines/resources/config_map/app-config-rhdh.yaml +++ b/.ibm/pipelines/resources/config_map/app-config-rhdh.yaml @@ -1,4 +1,5 @@ app: + baseUrl: ${RHDH_BASE_URL} title: Red Hat Developer Hub branding: fullLogo: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDIwMDEwOTA0Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDEvUkVDLVNWRy0yMDAxMDkwNC9EVEQvc3ZnMTAuZHRkIj4KPCEtLSBDcmVhdGVkIHVzaW5nIEtyaXRhOiBodHRwczovL2tyaXRhLm9yZyAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIAogICAgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiCiAgICB4bWxuczprcml0YT0iaHR0cDovL2tyaXRhLm9yZy9uYW1lc3BhY2VzL3N2Zy9rcml0YSIKICAgIHhtbG5zOnNvZGlwb2RpPSJodHRwOi8vc29kaXBvZGkuc291cmNlZm9yZ2UubmV0L0RURC9zb2RpcG9kaS0wLmR0ZCIKICAgIHdpZHRoPSIxNjBwdCIKICAgIGhlaWdodD0iODBwdCIKICAgIHZpZXdCb3g9IjAgMCAxNjAgODAiPgo8ZGVmcy8+Cjx0ZXh0IGlkPSJzaGFwZTAiIGtyaXRhOnVzZVJpY2hUZXh0PSJ0cnVlIiB0ZXh0LXJlbmRlcmluZz0iYXV0byIga3JpdGE6dGV4dFZlcnNpb249IjMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0wLjE3NzMyMDYxNTAzNDE1NSwgNTQuMjYyNSkiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZS1vcGFjaXR5PSIwIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS13aWR0aD0iMCIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgc3Ryb2tlLWxpbmVqb2luPSJiZXZlbCIgbGV0dGVyLXNwYWNpbmc9IjAiIHdvcmQtc3BhY2luZz0iMCIgc3R5bGU9InRleHQtYWxpZ246IHN0YXJ0O3RleHQtYWxpZ24tbGFzdDogYXV0bztmb250LWZhbWlseTogUmVkIEhhdCBEaXNwbGF5O2ZvbnQtc2l6ZTogNDA7Zm9udC13ZWlnaHQ6IDcwMDsiPjx0c3BhbiB4PSIwIj5RRTwvdHNwYW4+PC90ZXh0Pjx0ZXh0IGlkPSJzaGFwZTEiIGtyaXRhOnVzZVJpY2hUZXh0PSJ0cnVlIiB0ZXh0LXJlbmRlcmluZz0iYXV0byIga3JpdGE6dGV4dFZlcnNpb249IjMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDU3LjU2NDgyMDYxNTAzNDIsIDM1LjcyOTY4NzUpIiBmaWxsPSIjZmZmZmZmIiBzdHJva2Utb3BhY2l0eT0iMCIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjAiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIHN0cm9rZS1saW5lam9pbj0iYmV2ZWwiIGxldHRlci1zcGFjaW5nPSIwIiB3b3JkLXNwYWNpbmc9IjAiIHN0eWxlPSJ0ZXh0LWFsaWduOiBzdGFydDt0ZXh0LWFsaWduLWxhc3Q6IGF1dG87Zm9udC1mYW1pbHk6IFJlZCBIYXQgVGV4dDtmb250LXNpemU6IDE0O2ZvbnQtd2VpZ2h0OiA3MDA7Ij48dHNwYW4geD0iMCI+UmVkIEhhdDwvdHNwYW4+PHRzcGFuIHg9IjAiIGR5PSIxOC41MTU2MjUiPkRldmVsb3BlciBIdWI8L3RzcGFuPjwvdGV4dD4KPC9zdmc+Cg==" @@ -15,6 +16,9 @@ app: headerColor2: 'rgb(45, 190, 50)' navigationIndicatorColor: 'rgb(45, 113, 190)' backend: + baseUrl: ${RHDH_BASE_URL} + cors: + origin: ${RHDH_BASE_URL} reading: allow: - host: 'github.com' diff --git a/.ibm/pipelines/resources/rhdh-operator/rhdh-start-rbac.yaml b/.ibm/pipelines/resources/rhdh-operator/rhdh-start-rbac.yaml new file mode 100644 index 0000000000..5accf44551 --- /dev/null +++ b/.ibm/pipelines/resources/rhdh-operator/rhdh-start-rbac.yaml @@ -0,0 +1,19 @@ +kind: Backstage +apiVersion: rhdh.redhat.com/v1alpha2 +metadata: + name: rhdh-rbac +spec: + application: + image: 'quay.io/rhdh/rhdh-hub-rhel9:next' + appConfig: + configMaps: + - name: app-config-rhdh + mountPath: /opt/app-root/src + dynamicPluginsConfigMapName: dynamic-plugins + extraEnvs: + secrets: + - name: rhdh-secrets + extraFiles: + configMaps: + - name: rbac-policy + mountPath: /opt/app-root/src/rbac diff --git a/.ibm/pipelines/resources/rhdh-operator/rhdh-start.yaml b/.ibm/pipelines/resources/rhdh-operator/rhdh-start.yaml new file mode 100644 index 0000000000..9840257712 --- /dev/null +++ b/.ibm/pipelines/resources/rhdh-operator/rhdh-start.yaml @@ -0,0 +1,17 @@ +kind: Backstage +apiVersion: rhdh.redhat.com/v1alpha2 +metadata: + name: rhdh +spec: + application: + image: 'quay.io/rhdh/rhdh-hub-rhel9:next' + appConfig: + configMaps: + - name: app-config-rhdh + - name: dynamic-homepage-and-sidebar-config + mountPath: /opt/app-root/src + dynamicPluginsConfigMapName: dynamic-plugins + extraEnvs: + secrets: + - name: rhdh-secrets + - name: redis-secret diff --git a/.ibm/pipelines/utils.sh b/.ibm/pipelines/utils.sh index cae0016cc9..23117fbbe9 100755 --- a/.ibm/pipelines/utils.sh +++ b/.ibm/pipelines/utils.sh @@ -485,6 +485,18 @@ select_config_map_file() { fi } +create_dynamic_plugins_config() { + local base_file=$1 + local final_file=$2 + echo "kind: ConfigMap +apiVersion: v1 +metadata: + name: dynamic-plugins +data: + dynamic-plugins.yaml: |" >> ${final_file} + yq '.global.dynamic' ${base_file} | sed -e 's/^/ /' >> ${final_file} +} + create_app_config_map_k8s() { local config_file=$1 local project=$2 @@ -716,4 +728,3 @@ oc_login() { echo "OCP version: $(oc version)" export K8S_CLUSTER_ROUTER_BASE=$(oc get route console -n openshift-console -o=jsonpath='{.spec.host}' | sed 's/^[^.]*\.//') } - diff --git a/e2e-tests/package.json b/e2e-tests/package.json index ae5f5998f0..8f189ebc8c 100644 --- a/e2e-tests/package.json +++ b/e2e-tests/package.json @@ -14,6 +14,8 @@ "showcase-rbac-nightly": "playwright test --project=showcase-rbac", "showcase-k8s-ci-nightly": "playwright test --project=showcase-k8s", "showcase-rbac-k8s-ci-nightly": "playwright test --project=showcase-rbac-k8s", + "showcase-operator-nightly": "playwright test --project=showcase-operator", + "showcase-op-rbac-nightly": "playwright test --project=showcase-operator-rbac", "showcase-rds-nightly": "playwright test --project=postgres-health-check", "showcase-runtime": "playwright test --project=showcase-runtime", "lint:check": "eslint . --ext .js,.ts", diff --git a/e2e-tests/playwright.config.ts b/e2e-tests/playwright.config.ts index d60763886f..bab7812322 100644 --- a/e2e-tests/playwright.config.ts +++ b/e2e-tests/playwright.config.ts @@ -115,6 +115,35 @@ export default defineConfig({ "**/playwright/e2e/plugins/bulk-import.spec.ts", ], }, + { + name: "showcase-operator", + use: { + ...devices["Desktop Chrome"], + viewport: { width: 1920, height: 1080 }, + }, + testIgnore: [ + "**/playwright/e2e/plugins/rbac/**/*.spec.ts", + "**/playwright/e2e/plugins/analytics/analytics-disabled-rbac.spec.ts", + "**/playwright/e2e/verify-tls-config-with-external-postgres-db.spec.ts", + "**/playwright/e2e/authProviders/**/*.spec.ts", + "**/playwright/e2e/plugins/bulk-import.spec.ts", + "**/playwright/e2e/plugins/tekton/tekton.spec.ts", + "**/playwright/e2e/catalog-scaffoldedfromLink.spec.ts", + "**/playwright/e2e/audit-log/**/*.spec.ts", + "**/playwright/e2e/plugins/topology/topology.spec.ts", + "**/playwright/e2e/verify-tls-config-health-check.spec.ts", + "**/playwright/e2e/configuration-test/config-map.spec.ts", + ], + }, + { + name: "showcase-operator-rbac", + ...useCommonDeviceAndViewportConfig, + testMatch: [ + "**/playwright/e2e/plugins/rbac/**/*.spec.ts", + "**/playwright/e2e/plugins/analytics/analytics-disabled-rbac.spec.ts", + "**/playwright/e2e/plugins/bulk-import.spec.ts", + ], + }, { name: "postgres-health-check", ...useCommonDeviceAndViewportConfig, From be2f2bd7255137a0bbcf48e5e20321b4b96322f7 Mon Sep 17 00:00:00 2001 From: OpenShift Cherrypick Robot Date: Mon, 16 Dec 2024 18:08:35 +0100 Subject: [PATCH 5/6] chore(metadata) backstage-community-plugin-topology should remain GA level support [ci skip] (#2112) Signed-off-by: Nick Boldt Co-authored-by: Nick Boldt --- .../wrappers/backstage-community-plugin-topology/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dynamic-plugins/wrappers/backstage-community-plugin-topology/package.json b/dynamic-plugins/wrappers/backstage-community-plugin-topology/package.json index c86ad80fec..b6126ca22e 100644 --- a/dynamic-plugins/wrappers/backstage-community-plugin-topology/package.json +++ b/dynamic-plugins/wrappers/backstage-community-plugin-topology/package.json @@ -63,7 +63,7 @@ "directory": "dynamic-plugins/wrappers/backstage-community-plugin-topology" }, "keywords": [ - "support:tech-preview", + "support:production", "lifecycle:active" ], "homepage": "https://red.ht/rhdh", From 7bb7197b4acc9a605a5030cfb657881e59e25cad Mon Sep 17 00:00:00 2001 From: Omar Al Jaljuli Date: Mon, 16 Dec 2024 14:11:52 -0500 Subject: [PATCH 6/6] chore(e2e): fix tech radar tests for nightly (#2111) --- .ibm/pipelines/jobs/periodic.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.ibm/pipelines/jobs/periodic.sh b/.ibm/pipelines/jobs/periodic.sh index 99ab74d95e..23fdd7138d 100644 --- a/.ibm/pipelines/jobs/periodic.sh +++ b/.ibm/pipelines/jobs/periodic.sh @@ -5,10 +5,9 @@ handle_nightly() { export K8S_CLUSTER_ROUTER_BASE=$(oc get route console -n openshift-console -o=jsonpath='{.spec.host}' | sed 's/^[^.]*\.//') - configure_namespace "${NAME_SPACE}" - deploy_test_backstage_provider "${NAME_SPACE}" cluster_setup initiate_deployments + deploy_test_backstage_provider "${NAME_SPACE}" local url="https://${RELEASE_NAME}-backstage-${NAME_SPACE}.${K8S_CLUSTER_ROUTER_BASE}" check_and_test "${RELEASE_NAME}" "${NAME_SPACE}" "${url}" local rbac_url="https://${RELEASE_NAME_RBAC}-backstage-${NAME_SPACE_RBAC}.${K8S_CLUSTER_ROUTER_BASE}"