From 94f4e027f8feb73bd1889da01c9f75e4d3cf67d8 Mon Sep 17 00:00:00 2001 From: Bryan Morgan Date: Fri, 30 Jan 2026 11:09:59 -0500 Subject: [PATCH] feat(ci): add npx smoke test to verify installability (#17927) --- .github/workflows/ci.yml | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6b95abdddc..7b6b850f71 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -177,6 +177,15 @@ jobs: - name: 'Smoke test bundle' run: 'node ./bundle/gemini.js --version' + - name: 'Smoke test npx installation' + run: | + # Create a temporary directory to avoid picking up local node_modules + mkdir -p ../npx-test + cd ../npx-test + # Run npx pointing to the checkout directory. This simulates a user + # installing the package from a git reference. + npx ${{ github.workspace }} --version + - name: 'Wait for file system sync' run: 'sleep 2' @@ -252,6 +261,15 @@ jobs: - name: 'Smoke test bundle' run: 'node ./bundle/gemini.js --version' + - name: 'Smoke test npx installation' + run: | + # Create a temporary directory to avoid picking up local node_modules + mkdir -p ../npx-test + cd ../npx-test + # Run npx pointing to the checkout directory. This simulates a user + # installing the package from a git reference. + npx ${{ github.workspace }} --version + - name: 'Wait for file system sync' run: 'sleep 2' @@ -396,6 +414,16 @@ jobs: run: 'node ./bundle/gemini.js --version' shell: 'pwsh' + - name: 'Smoke test npx installation' + run: | + # Create a temporary directory to avoid picking up local node_modules + New-Item -ItemType Directory -Force -Path ../npx-test + Set-Location ../npx-test + # Run npx pointing to the checkout directory. This simulates a user + # installing the package from a git reference. + npx ${{ github.workspace }} --version + shell: 'pwsh' + ci: name: 'CI' if: 'always()'