forked from baron/baron-sso
fix(ci): use npx playwright and fix adminfront scripts for reliable binary resolution in CI
This commit is contained in:
@@ -335,7 +335,7 @@ jobs:
|
||||
id: playwright-version
|
||||
run: |
|
||||
cd userfront-e2e
|
||||
echo "version=$(pnpm list -C ../common @playwright/test --depth 0 | grep @playwright/test | awk -F@ '{print $NF}')" >> "$GITHUB_OUTPUT"
|
||||
echo "version=$(npm list @playwright/test | grep @playwright/test | awk -F@ '{print $NF}')" >> "$GITHUB_OUTPUT"
|
||||
|
||||
- name: Cache Playwright Browsers
|
||||
uses: actions/cache@v4
|
||||
@@ -420,7 +420,7 @@ jobs:
|
||||
run: |
|
||||
set +e
|
||||
cd userfront-e2e
|
||||
../common/node_modules/.bin/playwright install --with-deps chromium 2>&1 | tee ../reports/userfront-e2e-provision.log
|
||||
npx playwright install --with-deps chromium 2>&1 | tee ../reports/userfront-e2e-provision.log
|
||||
provision_exit_code=${PIPESTATUS[0]}
|
||||
cd ..
|
||||
set -e
|
||||
@@ -435,7 +435,7 @@ jobs:
|
||||
echo "- Exit Code: \`$provision_exit_code\`"
|
||||
echo
|
||||
echo "## Command"
|
||||
echo "\`cd userfront-e2e && ../common/node_modules/.bin/playwright install --with-deps chromium\`"
|
||||
echo "\`cd userfront-e2e && npx playwright install --with-deps chromium\`"
|
||||
echo
|
||||
echo "## Provision Log Tail (last 200 lines)"
|
||||
echo '```text'
|
||||
@@ -450,7 +450,7 @@ jobs:
|
||||
mkdir -p reports
|
||||
set +e
|
||||
cd userfront-e2e
|
||||
pnpm run test 2>&1 | tee ../reports/userfront-e2e-test.log
|
||||
npm test 2>&1 | tee ../reports/userfront-e2e-test.log
|
||||
test_exit_code=${PIPESTATUS[0]}
|
||||
cd ..
|
||||
set -e
|
||||
@@ -467,8 +467,8 @@ jobs:
|
||||
echo "1. \`cd userfront-e2e\`"
|
||||
echo "2. \`npm ci\`"
|
||||
echo "3. \`cd ../userfront && flutter build web --wasm --release\`"
|
||||
echo "4. \`cd ../userfront-e2e && ../common/node_modules/.bin/playwright install --with-deps chromium\`"
|
||||
echo "5. \`pnpm run test\`"
|
||||
echo "4. \`cd ../userfront-e2e && npx playwright install --with-deps chromium\`"
|
||||
echo "5. \`npm test\`"
|
||||
echo
|
||||
echo "## Log Tail (last 200 lines)"
|
||||
echo '```text'
|
||||
@@ -703,7 +703,7 @@ jobs:
|
||||
run: |
|
||||
set +e
|
||||
cd devfront
|
||||
../common/node_modules/.bin/playwright install --with-deps 2>&1 | tee ../reports/devfront-provision.log
|
||||
npx playwright install --with-deps 2>&1 | tee ../reports/devfront-provision.log
|
||||
provision_exit_code=${PIPESTATUS[0]}
|
||||
cd ..
|
||||
set -e
|
||||
@@ -718,7 +718,7 @@ jobs:
|
||||
echo "- Exit Code: \`$provision_exit_code\`"
|
||||
echo
|
||||
echo "## Command"
|
||||
echo "\`cd devfront && ../common/node_modules/.bin/playwright install --with-deps\`"
|
||||
echo "\`cd devfront && npx playwright install --with-deps\`"
|
||||
echo
|
||||
echo "## Provision Log Tail (last 200 lines)"
|
||||
echo '```text'
|
||||
@@ -751,7 +751,7 @@ jobs:
|
||||
echo "## Commands"
|
||||
echo "1. \`cd devfront\`"
|
||||
echo "2. \`npm ci\`"
|
||||
echo "3. \`../common/node_modules/.bin/playwright install --with-deps\`"
|
||||
echo "3. \`npx playwright install --with-deps\`"
|
||||
echo "4. \`pnpm run test\`"
|
||||
echo
|
||||
echo "## Log Tail (last 200 lines)"
|
||||
@@ -885,7 +885,7 @@ jobs:
|
||||
run: |
|
||||
set +e
|
||||
cd orgfront
|
||||
../common/node_modules/.bin/playwright install --with-deps 2>&1 | tee ../reports/orgfront-provision.log
|
||||
npx playwright install --with-deps 2>&1 | tee ../reports/orgfront-provision.log
|
||||
provision_exit_code=${PIPESTATUS[0]}
|
||||
cd ..
|
||||
set -e
|
||||
@@ -900,7 +900,7 @@ jobs:
|
||||
echo "- Exit Code: \`$provision_exit_code\`"
|
||||
echo
|
||||
echo "## Command"
|
||||
echo "\`cd orgfront && ../common/node_modules/.bin/playwright install --with-deps\`"
|
||||
echo "\`cd orgfront && npx playwright install --with-deps\`"
|
||||
echo
|
||||
echo "## Provision Log Tail (last 200 lines)"
|
||||
echo '```text'
|
||||
@@ -933,7 +933,7 @@ jobs:
|
||||
echo "## Commands"
|
||||
echo "1. \`cd orgfront\`"
|
||||
echo "2. \`npm ci\`"
|
||||
echo "3. \`../common/node_modules/.bin/playwright install --with-deps\`"
|
||||
echo "3. \`npx playwright install --with-deps\`"
|
||||
echo "4. \`pnpm run test\`"
|
||||
echo
|
||||
echo "## Log Tail (last 200 lines)"
|
||||
|
||||
@@ -13,9 +13,9 @@
|
||||
"lint:fix": "biome check . --write",
|
||||
"format": "biome format . --write",
|
||||
"preview": "vite preview",
|
||||
"test": "node ./node_modules/playwright/cli.js test",
|
||||
"test": "playwright test",
|
||||
"test:unit": "vitest run",
|
||||
"test:ui": "node ./node_modules/playwright/cli.js test --ui",
|
||||
"test:ui": "playwright test --ui",
|
||||
"i18n-scan": "cd .. && node tools/i18n-scanner/index.js && node tools/i18n-scanner/report.js"
|
||||
},
|
||||
"dependencies": {
|
||||
|
||||
@@ -61,8 +61,8 @@ find_available_port() {
|
||||
'
|
||||
}
|
||||
|
||||
playwright_install_cmd=(../common/node_modules/.bin/playwright install)
|
||||
playwright_install_desc="../common/node_modules/.bin/playwright install"
|
||||
playwright_install_cmd=(npx playwright install)
|
||||
playwright_install_desc="npx playwright install"
|
||||
playwright_project_args=()
|
||||
|
||||
has_webkit_host_dependencies() {
|
||||
@@ -112,21 +112,21 @@ has_webkit_host_dependencies() {
|
||||
}
|
||||
|
||||
if [ "$(id -u)" -eq 0 ]; then
|
||||
playwright_install_cmd=(../common/node_modules/.bin/playwright install --with-deps)
|
||||
playwright_install_desc="../common/node_modules/.bin/playwright install --with-deps"
|
||||
playwright_install_cmd=(npx playwright install --with-deps)
|
||||
playwright_install_desc="npx playwright install --with-deps"
|
||||
elif command -v sudo >/dev/null 2>&1 && sudo -n true >/dev/null 2>&1; then
|
||||
playwright_install_cmd=(../common/node_modules/.bin/playwright install --with-deps)
|
||||
playwright_install_desc="../common/node_modules/.bin/playwright install --with-deps"
|
||||
playwright_install_cmd=(npx playwright install --with-deps)
|
||||
playwright_install_desc="npx playwright install --with-deps"
|
||||
elif ! has_webkit_host_dependencies; then
|
||||
playwright_install_cmd=(../common/node_modules/.bin/playwright install chromium firefox)
|
||||
playwright_install_desc="../common/node_modules/.bin/playwright install chromium firefox"
|
||||
playwright_install_cmd=(npx playwright install chromium firefox)
|
||||
playwright_install_desc="npx playwright install chromium firefox"
|
||||
playwright_project_args=(--project=chromium --project=firefox)
|
||||
{
|
||||
echo "# Adminfront WebKit Skipped"
|
||||
echo
|
||||
echo "- Reason: WebKit host dependencies are not installed and this user cannot run passwordless sudo."
|
||||
echo "- Action: Running Chromium and Firefox projects only."
|
||||
echo "- To enable WebKit locally: run \`cd adminfront && ../common/node_modules/.bin/playwright install-deps webkit\` with sudo privileges."
|
||||
echo "- To enable WebKit locally: run \`cd adminfront && npx playwright install-deps webkit\` with sudo privileges."
|
||||
} > reports/adminfront-webkit-skipped.md
|
||||
fi
|
||||
|
||||
@@ -197,7 +197,7 @@ echo "==> adminfront using PORT=$port"
|
||||
(
|
||||
cd "$tmp_dir/adminfront"
|
||||
PORT="$port" PLAYWRIGHT_WORKERS="${PLAYWRIGHT_WORKERS:-1}" \
|
||||
../common/node_modules/.bin/playwright test "${playwright_project_args[@]}"
|
||||
npx playwright test "${playwright_project_args[@]}"
|
||||
) 2>&1 | tee reports/adminfront-test.log
|
||||
test_exit_code=${PIPESTATUS[0]}
|
||||
set -e
|
||||
@@ -217,7 +217,7 @@ if [ "$test_exit_code" -ne 0 ]; then
|
||||
echo "1. \`cd adminfront\`"
|
||||
echo "2. \`npm install -g pnpm && pnpm install -C ../common\`"
|
||||
echo "3. \`${playwright_install_desc}\`"
|
||||
echo "4. \`../common/node_modules/.bin/playwright test\`"
|
||||
echo "4. \`npx playwright test\`"
|
||||
echo
|
||||
echo "## Log Tail (last 200 lines)"
|
||||
echo '```text'
|
||||
|
||||
Reference in New Issue
Block a user