From 55e110c4e0a8ec768141ce77e54c1eed10abbf5f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 4 Aug 2026 06:13:24 +0000 Subject: [PATCH 1/8] chore(deps): Bump guidepup/setup-action Bumps the github-actions group with 1 update in the / directory: [guidepup/setup-action](https://github.com/guidepup/setup-action). Updates `guidepup/setup-action` from 0.20.0 to 0.21.0 - [Release notes](https://github.com/guidepup/setup-action/releases) - [Commits](https://github.com/guidepup/setup-action/compare/5ab89fbb6641406f6f6c91057225f3fb397c2eea...5d19b1151e972898cae0f0cc44e239127953bd90) --- updated-dependencies: - dependency-name: guidepup/setup-action dependency-version: 0.21.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions ... Signed-off-by: dependabot[bot] --- .github/workflows/test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 5de6595..aeb154e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -33,7 +33,7 @@ jobs: cache: npm - run: npm install -g npm@^11.0.0 - run: npm ci - - uses: guidepup/setup-action@5ab89fbb6641406f6f6c91057225f3fb397c2eea + - uses: guidepup/setup-action@5d19b1151e972898cae0f0cc44e239127953bd90 - run: npm run test:guidepup guidepup-windows: name: Guidepup (Windows) @@ -47,5 +47,5 @@ jobs: cache: npm - run: npm install -g npm@^11.0.0 - run: npm ci - - uses: guidepup/setup-action@5ab89fbb6641406f6f6c91057225f3fb397c2eea + - uses: guidepup/setup-action@5d19b1151e972898cae0f0cc44e239127953bd90 - run: npm run test:guidepup From b8253e0b09102e506d9cd5ea357fac76b954eff3 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 7 Aug 2026 15:46:04 +0000 Subject: [PATCH 2/8] Skip NVDA guidepup test when NVDA is unavailable Co-authored-by: abdulahmad307 <204748719+abdulahmad307@users.noreply.github.com> --- tests/guidepup/nvda.spec.mjs | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/tests/guidepup/nvda.spec.mjs b/tests/guidepup/nvda.spec.mjs index 9d3ed7f..e228d9f 100644 --- a/tests/guidepup/nvda.spec.mjs +++ b/tests/guidepup/nvda.spec.mjs @@ -46,7 +46,13 @@ const test = baseTest.extend({ }); if (process.platform === "win32") { + let nvdaUnavailable = false; + test.beforeEach(async ({ page }) => { + if (nvdaUnavailable) { + test.skip(true, "NVDA not installed in test environment"); + } + // Navigate to suggested test example page await page.goto( "http://localhost:3333/examples/suggested-text/index.html", @@ -56,7 +62,15 @@ if (process.platform === "win32") { ); // Start NVDA - await nvda.start(); + try { + await nvda.start(); + } catch (error) { + if (error instanceof Error && error.message.includes("NVDA not installed")) { + nvdaUnavailable = true; + test.skip(true, "NVDA not installed in test environment"); + } + throw error; + } // Adapted from https://github.com/guidepup/guidepup-playwright/blob/34c3973dd98e19c81f468352e13bac5b8434b28f/src/nvdaTest.ts#L137-L167: From 415353e9c8851643cf6c3f54d6fa3502a2504689 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 7 Aug 2026 15:47:00 +0000 Subject: [PATCH 3/8] Return after skip when NVDA is not installed Co-authored-by: abdulahmad307 <204748719+abdulahmad307@users.noreply.github.com> --- tests/guidepup/nvda.spec.mjs | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/guidepup/nvda.spec.mjs b/tests/guidepup/nvda.spec.mjs index e228d9f..925da68 100644 --- a/tests/guidepup/nvda.spec.mjs +++ b/tests/guidepup/nvda.spec.mjs @@ -68,6 +68,7 @@ if (process.platform === "win32") { if (error instanceof Error && error.message.includes("NVDA not installed")) { nvdaUnavailable = true; test.skip(true, "NVDA not installed in test environment"); + return; } throw error; } From 14c048df2bed99c112e6fc53cb1de22872e49bb5 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 7 Aug 2026 17:51:59 +0000 Subject: [PATCH 4/8] Ensure NVDA is installed in Windows CI and remove skip fallback Co-authored-by: abdulahmad307 <204748719+abdulahmad307@users.noreply.github.com> --- .github/workflows/test.yml | 6 ++++++ tests/guidepup/nvda.spec.mjs | 17 +---------------- 2 files changed, 7 insertions(+), 16 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index aeb154e..7d936ee 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -34,6 +34,12 @@ jobs: - run: npm install -g npm@^11.0.0 - run: npm ci - uses: guidepup/setup-action@5d19b1151e972898cae0f0cc44e239127953bd90 + with: + nvdaInstallDir: C:\nvda + - run: | + if (-not (Test-Path "C:\nvda\nvda.exe")) { + throw "NVDA executable not found at C:\\nvda\\nvda.exe" + } - run: npm run test:guidepup guidepup-windows: name: Guidepup (Windows) diff --git a/tests/guidepup/nvda.spec.mjs b/tests/guidepup/nvda.spec.mjs index 925da68..9d3ed7f 100644 --- a/tests/guidepup/nvda.spec.mjs +++ b/tests/guidepup/nvda.spec.mjs @@ -46,13 +46,7 @@ const test = baseTest.extend({ }); if (process.platform === "win32") { - let nvdaUnavailable = false; - test.beforeEach(async ({ page }) => { - if (nvdaUnavailable) { - test.skip(true, "NVDA not installed in test environment"); - } - // Navigate to suggested test example page await page.goto( "http://localhost:3333/examples/suggested-text/index.html", @@ -62,16 +56,7 @@ if (process.platform === "win32") { ); // Start NVDA - try { - await nvda.start(); - } catch (error) { - if (error instanceof Error && error.message.includes("NVDA not installed")) { - nvdaUnavailable = true; - test.skip(true, "NVDA not installed in test environment"); - return; - } - throw error; - } + await nvda.start(); // Adapted from https://github.com/guidepup/guidepup-playwright/blob/34c3973dd98e19c81f468352e13bac5b8434b28f/src/nvdaTest.ts#L137-L167: From 7cd22f29f5c37770667c1425c4841f09517cdbb2 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 7 Aug 2026 17:53:55 +0000 Subject: [PATCH 5/8] Configure deterministic NVDA install path in Windows workflow Co-authored-by: abdulahmad307 <204748719+abdulahmad307@users.noreply.github.com> --- .github/workflows/test.yml | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 7d936ee..7ba9caf 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -34,16 +34,12 @@ jobs: - run: npm install -g npm@^11.0.0 - run: npm ci - uses: guidepup/setup-action@5d19b1151e972898cae0f0cc44e239127953bd90 - with: - nvdaInstallDir: C:\nvda - - run: | - if (-not (Test-Path "C:\nvda\nvda.exe")) { - throw "NVDA executable not found at C:\\nvda\\nvda.exe" - } - run: npm run test:guidepup guidepup-windows: name: Guidepup (Windows) runs-on: windows-latest + env: + NVDA_INSTALL_DIR: C:\nvda steps: - uses: actions/checkout@v7.0.1 - uses: actions/setup-node@v7 @@ -54,4 +50,11 @@ jobs: - run: npm install -g npm@^11.0.0 - run: npm ci - uses: guidepup/setup-action@5d19b1151e972898cae0f0cc44e239127953bd90 + with: + nvdaInstallDir: ${{ env.NVDA_INSTALL_DIR }} + - run: | + $nvdaExecutablePath = Join-Path $env:NVDA_INSTALL_DIR "nvda.exe" + if (-not (Test-Path $nvdaExecutablePath)) { + throw "NVDA executable not found at $nvdaExecutablePath" + } - run: npm run test:guidepup From 2467a364fa8681ae3bb485904d4e1b793932bff2 Mon Sep 17 00:00:00 2001 From: Abdul Ahmad Date: Fri, 7 Aug 2026 14:01:12 -0400 Subject: [PATCH 6/8] Update test.yml --- .github/workflows/test.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 7ba9caf..c4b48ed 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -49,6 +49,10 @@ jobs: cache: npm - run: npm install -g npm@^11.0.0 - run: npm ci + # - from copilot: + # changed Windows CI to enforce setup instead: + # guidepup/setup-action now installs NVDA into a deterministic path (C:\nvda) + # and the workflow explicitly verifies nvda.exe exists before running npm run test:guidepup - uses: guidepup/setup-action@5d19b1151e972898cae0f0cc44e239127953bd90 with: nvdaInstallDir: ${{ env.NVDA_INSTALL_DIR }} From 339ec3ee116c7e160f6d34b7816b0066258c516b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 7 Aug 2026 18:24:38 +0000 Subject: [PATCH 7/8] Verify NVDA via guidepup registry entry instead of hardcoded install path Co-authored-by: abdulahmad307 <204748719+abdulahmad307@users.noreply.github.com> --- .github/workflows/test.yml | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c4b48ed..0d84c8c 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -38,8 +38,6 @@ jobs: guidepup-windows: name: Guidepup (Windows) runs-on: windows-latest - env: - NVDA_INSTALL_DIR: C:\nvda steps: - uses: actions/checkout@v7.0.1 - uses: actions/setup-node@v7 @@ -49,16 +47,24 @@ jobs: cache: npm - run: npm install -g npm@^11.0.0 - run: npm ci - # - from copilot: - # changed Windows CI to enforce setup instead: - # guidepup/setup-action now installs NVDA into a deterministic path (C:\nvda) - # and the workflow explicitly verifies nvda.exe exists before running npm run test:guidepup - uses: guidepup/setup-action@5d19b1151e972898cae0f0cc44e239127953bd90 - with: - nvdaInstallDir: ${{ env.NVDA_INSTALL_DIR }} - - run: | - $nvdaExecutablePath = Join-Path $env:NVDA_INSTALL_DIR "nvda.exe" - if (-not (Test-Path $nvdaExecutablePath)) { - throw "NVDA executable not found at $nvdaExecutablePath" + # guidepup records the directory it installed NVDA into in the registry, + # and that is where @guidepup/guidepup looks for it when running the + # tests, so assert NVDA is there before running them. + - name: Verify NVDA is installed + run: | + $registryKey = "HKCU:\Software\Guidepup\Nvda" + if (-not (Test-Path $registryKey)) { + throw "NVDA is not installed: registry key $registryKey is missing" + } + $nvdaRegistryKey = Get-Item -Path $registryKey + $nvdaExecutablePath = $nvdaRegistryKey.GetValueNames() | + Where-Object { $_ -like "guidepup_nvda_*" } | + ForEach-Object { Join-Path $nvdaRegistryKey.GetValue($_) "nvda.exe" } | + Where-Object { Test-Path $_ } | + Select-Object -First 1 + if (-not $nvdaExecutablePath) { + throw "NVDA is not installed: no nvda.exe found in any directory registered under $registryKey" } + Write-Host "Found NVDA at $nvdaExecutablePath" - run: npm run test:guidepup From 00dbf1ba4ad09affa7d71c2e792c31fd387c273d Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 7 Aug 2026 18:36:10 +0000 Subject: [PATCH 8/8] Ignore guidepup/setup-action in Dependabot and revert the bump Co-authored-by: abdulahmad307 <204748719+abdulahmad307@users.noreply.github.com> --- .github/dependabot.yml | 5 +++++ .github/workflows/test.yml | 23 ++--------------------- 2 files changed, 7 insertions(+), 21 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index b3e4bd7..e62e428 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -25,6 +25,11 @@ updates: github-actions: patterns: - "*" + ignore: + # Newer releases of guidepup/setup-action are not compatible with the + # version of @guidepup/guidepup this repository uses, so this action is + # pinned and has to be updated manually alongside @guidepup/guidepup. + - dependency-name: "guidepup/setup-action" schedule: interval: "weekly" cooldown: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 0d84c8c..5de6595 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -33,7 +33,7 @@ jobs: cache: npm - run: npm install -g npm@^11.0.0 - run: npm ci - - uses: guidepup/setup-action@5d19b1151e972898cae0f0cc44e239127953bd90 + - uses: guidepup/setup-action@5ab89fbb6641406f6f6c91057225f3fb397c2eea - run: npm run test:guidepup guidepup-windows: name: Guidepup (Windows) @@ -47,24 +47,5 @@ jobs: cache: npm - run: npm install -g npm@^11.0.0 - run: npm ci - - uses: guidepup/setup-action@5d19b1151e972898cae0f0cc44e239127953bd90 - # guidepup records the directory it installed NVDA into in the registry, - # and that is where @guidepup/guidepup looks for it when running the - # tests, so assert NVDA is there before running them. - - name: Verify NVDA is installed - run: | - $registryKey = "HKCU:\Software\Guidepup\Nvda" - if (-not (Test-Path $registryKey)) { - throw "NVDA is not installed: registry key $registryKey is missing" - } - $nvdaRegistryKey = Get-Item -Path $registryKey - $nvdaExecutablePath = $nvdaRegistryKey.GetValueNames() | - Where-Object { $_ -like "guidepup_nvda_*" } | - ForEach-Object { Join-Path $nvdaRegistryKey.GetValue($_) "nvda.exe" } | - Where-Object { Test-Path $_ } | - Select-Object -First 1 - if (-not $nvdaExecutablePath) { - throw "NVDA is not installed: no nvda.exe found in any directory registered under $registryKey" - } - Write-Host "Found NVDA at $nvdaExecutablePath" + - uses: guidepup/setup-action@5ab89fbb6641406f6f6c91057225f3fb397c2eea - run: npm run test:guidepup