forked from baron/baron-sso
fix(ci): fix build path and preview execution in CI
This commit is contained in:
@@ -18,6 +18,9 @@ mkdir -p reports
|
||||
|
||||
tmp_dir="$(mktemp -d /tmp/baron-sso-adminfront-tests.XXXXXX)"
|
||||
pnpm_store_dir="$tmp_dir/pnpm-store"
|
||||
# [Fix] Use a relative path for the build output directory
|
||||
export ADMINFRONT_BUILD_OUT_DIR="dist"
|
||||
|
||||
seed_dir=""
|
||||
for candidate in \
|
||||
/tmp/baron-sso-adminfront-tests.FRPGmL \
|
||||
@@ -196,9 +199,6 @@ fi
|
||||
|
||||
set +e
|
||||
(
|
||||
# [Fix] Dependency resolution fails when installing from sub-app in isolated CI.
|
||||
# We must install from the workspace root (common) and ensure the workspace config
|
||||
# only points to available directories (adminfront & common).
|
||||
cd "$tmp_dir/common"
|
||||
echo "packages: ['.', '../adminfront']" > pnpm-workspace.yaml
|
||||
|
||||
@@ -209,7 +209,7 @@ set +e
|
||||
run_with_retry 3 env CI=true pnpm install --no-frozen-lockfile --shamefully-hoist --store-dir "$pnpm_store_dir"
|
||||
fi
|
||||
) 2>&1 | tee reports/adminfront-install.log
|
||||
install_exit_code=${PIPESTATUS[0]}
|
||||
install_exit_code=${STATUS:-$?}
|
||||
set -e
|
||||
|
||||
if [ "$install_exit_code" -ne 0 ]; then
|
||||
@@ -232,6 +232,32 @@ if [ "$install_exit_code" -ne 0 ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# [Fix] Explicitly build to 'dist' and ensure it's available for 'vite preview'.
|
||||
(
|
||||
cd "$tmp_dir/adminfront"
|
||||
env CI=true ADMINFRONT_BUILD_OUT_DIR="dist" pnpm run build
|
||||
) 2>&1 | tee reports/adminfront-build.log
|
||||
build_exit_code=${PIPESTATUS[0]}
|
||||
if [ "$build_exit_code" -ne 0 ]; then
|
||||
{
|
||||
echo "# Adminfront Test Failure Report"
|
||||
echo
|
||||
echo "- Workflow: \`${GITHUB_WORKFLOW:-Code Check}\`"
|
||||
echo "- Job: \`${job_name}\`"
|
||||
echo "- Reason: \`Build failed\`"
|
||||
echo "- Exit Code: \`$build_exit_code\`"
|
||||
echo
|
||||
echo "## Command"
|
||||
echo "\`cd adminfront && env CI=true pnpm run build\`"
|
||||
echo
|
||||
echo "## Build Log Tail (last 200 lines)"
|
||||
echo '```text'
|
||||
tail -n 200 reports/adminfront-build.log
|
||||
echo '```'
|
||||
} > reports/adminfront-test-failure-report.md
|
||||
exit 1
|
||||
fi
|
||||
|
||||
set +e
|
||||
(
|
||||
cd "$tmp_dir/adminfront"
|
||||
@@ -288,8 +314,9 @@ if [ "$test_exit_code" -ne 0 ]; then
|
||||
echo
|
||||
echo "## Commands"
|
||||
echo "1. \`cd common && echo \"packages: ['.', '../adminfront']\" > pnpm-workspace.yaml && env CI=true pnpm install --no-frozen-lockfile --shamefully-hoist\`"
|
||||
echo "2. \`${playwright_install_desc}\`"
|
||||
echo "3. \`pnpm exec playwright test\`"
|
||||
echo "2. \`cd adminfront && env CI=true pnpm run build\`"
|
||||
echo "3. \`${playwright_install_desc}\`"
|
||||
echo "4. \`pnpm exec playwright test\`"
|
||||
echo
|
||||
echo "## Log Tail (last 200 lines)"
|
||||
echo '```text'
|
||||
|
||||
Reference in New Issue
Block a user