From ffa4a49777817b5524203d1656751489a3b8e5f9 Mon Sep 17 00:00:00 2001 From: Krystof Stekovic Date: Wed, 15 Jul 2026 10:44:30 +0200 Subject: [PATCH 1/2] Update Keycloak image from 24.0 to latest The image was pinned to 24.0 as a temporary workaround while HAL-2009/HAL-2008 (Keycloak 26+ OIDC integration) was being fixed. That issue is now resolved. --- .github/workflows/on-pull-request-workflow.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/on-pull-request-workflow.yaml b/.github/workflows/on-pull-request-workflow.yaml index 43b6e00d5..190eedf83 100644 --- a/.github/workflows/on-pull-request-workflow.yaml +++ b/.github/workflows/on-pull-request-workflow.yaml @@ -43,4 +43,4 @@ jobs: TESTCONTAINERS_RYUK_DISABLED: true run: | SPECS="${{ steps.changed-files-specific.outputs.all_changed_files }}" - KEYCLOAK_IMAGE=quay.io/keycloak/keycloak:24.0 npm run test -- --browser=chrome --specs=$SPECS + KEYCLOAK_IMAGE=quay.io/keycloak/keycloak:latest npm run test -- --browser=chrome --specs=$SPECS From 404f4e61f31d14180b44c58e2ca601ec2ce3e2fe Mon Sep 17 00:00:00 2001 From: Krystof Stekovic Date: Wed, 15 Jul 2026 12:31:04 +0200 Subject: [PATCH 2/2] Scroll boolean toggle into view before clicking in cy.flip() Add scrollIntoView() to cy.flip() so the bootstrap switch label is always visible before the click, preventing failures when the element is obscured by an open dropdown above it. Also applies pending Prettier formatting to workflow files and README. --- .github/workflows/manual-test-matrix-workflow.yaml | 2 +- .github/workflows/reusable-build-project-workflow.yaml | 2 +- .github/workflows/scheduled-run-all-tests-workflow.yaml | 2 +- README.md | 2 ++ packages/testsuite/cypress/support/form-editing.ts | 4 +++- 5 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/workflows/manual-test-matrix-workflow.yaml b/.github/workflows/manual-test-matrix-workflow.yaml index ea812151d..d24d310c4 100644 --- a/.github/workflows/manual-test-matrix-workflow.yaml +++ b/.github/workflows/manual-test-matrix-workflow.yaml @@ -75,7 +75,7 @@ jobs: - name: "Check docker status" run: systemctl status docker - name: "Run npm install" - run: "npm install --ignore-scripts --before=\"$(date -d '7 days ago' --iso-8601=seconds)\"" + run: 'npm install --ignore-scripts --before="$(date -d ''7 days ago'' --iso-8601=seconds)"' - name: "Install Cypress binary" run: "npx cypress install" - name: "Run compile" diff --git a/.github/workflows/reusable-build-project-workflow.yaml b/.github/workflows/reusable-build-project-workflow.yaml index 16ec6207e..4375ad6af 100644 --- a/.github/workflows/reusable-build-project-workflow.yaml +++ b/.github/workflows/reusable-build-project-workflow.yaml @@ -36,7 +36,7 @@ jobs: with: firefox-version: "latest-esr" - name: "Run npm install" - run: "npm install --ignore-scripts --before=\"$(date -d '7 days ago' --iso-8601=seconds)\"" + run: 'npm install --ignore-scripts --before="$(date -d ''7 days ago'' --iso-8601=seconds)"' - name: "Install Cypress binary" run: "npx cypress install" - name: "Run compile" diff --git a/.github/workflows/scheduled-run-all-tests-workflow.yaml b/.github/workflows/scheduled-run-all-tests-workflow.yaml index eef812f34..df2615d5f 100644 --- a/.github/workflows/scheduled-run-all-tests-workflow.yaml +++ b/.github/workflows/scheduled-run-all-tests-workflow.yaml @@ -70,7 +70,7 @@ jobs: - name: "Check docker status" run: "systemctl status docker" - name: "Run npm install" - run: "npm install --ignore-scripts --before=\"$(date -d '7 days ago' --iso-8601=seconds)\"" + run: 'npm install --ignore-scripts --before="$(date -d ''7 days ago'' --iso-8601=seconds)"' - name: "Install Cypress binary" run: "npx cypress install" - name: "Run compile" diff --git a/README.md b/README.md index 28a6aa8b4..f9e922ee8 100644 --- a/README.md +++ b/README.md @@ -46,6 +46,7 @@ npm install in the root directory to download all of the NPM dependencies specified in `package.json` > **Security note:** To protect against npm supply chain attacks, it is recommended to use the following flags: +> > - `--ignore-scripts` — prevents pre/post install scripts of dependencies from executing (main attack vector) > - `--before` — limits package resolution to versions published more than 7 days ago, relying on security teams removing compromised packages within that window > @@ -54,6 +55,7 @@ in the root directory to download all of the NPM dependencies specified in `pack > ``` > > Note: `--ignore-scripts` also skips the project's own `postinstall` hook and the Cypress binary download. Run the following steps manually afterwards: +> > ``` > npx cypress install > npm run compile diff --git a/packages/testsuite/cypress/support/form-editing.ts b/packages/testsuite/cypress/support/form-editing.ts index 079e4d09d..9a28423da 100644 --- a/packages/testsuite/cypress/support/form-editing.ts +++ b/packages/testsuite/cypress/support/form-editing.ts @@ -114,7 +114,9 @@ Cypress.Commands.add("flip", (formId, attributeName, value) => { } else { cy.formInput(formId, attributeName).wait(1000).should("not.be.checked"); } - cy.get('div[data-form-item-group="' + formId + "-" + attributeName + '-editing"] .bootstrap-switch-label:visible') + cy.get('div[data-form-item-group="' + formId + "-" + attributeName + '-editing"]') + .scrollIntoView() + .find(".bootstrap-switch-label") .click() .wait(1000); if (value) {