Files
James MaesandClaude Opus 5.5 3ac26b2bac
maven / build (push) Successful in 15m19s
build / maven (push) Successful in 15m19s
ci: run the Selenium ITs headless against the dev server, as the orb did
The Selenium ITs need a headless Chrome and the HTTPS React dev server on
:3001. Move the prebuild into scripts/ci-prebuild.sh, which also starts the
dev server (HTTPS, port 3001, backend proxy 8001) the way the qqq-orb
frontend-material pipeline did, and treat CI=true like QQQ_SELENIUM_HEADLESS
(and like CIRCLECI for waitForever) so the tests run headless on any CI.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-07 17:41:38 -06:00

28 lines
995 B
Bash
Executable File

#!/usr/bin/env bash
############################################################################
## ci-prebuild.sh
## CI prebuild for the shared ci-workflows maven.yaml (runs before Maven):
## Jest unit tests, the React build that is packaged into the jar, and the
## HTTPS dev server on :3001 that the Selenium ITs drive (as the old
## qqq-orb frontend-material pipeline did). Maven then runs the ITs headless.
############################################################################
set -euo pipefail
npm ci --legacy-peer-deps
npm test -- --watchAll=false
npm run build-and-publish
HTTPS=true PORT=3001 REACT_APP_PROXY_LOCALHOST_PORT=8001 \
nohup setsid npm run start > /tmp/react-dev-server.log 2>&1 < /dev/null &
for _ in $(seq 1 150); do
if curl -ksf -o /dev/null https://localhost:3001/; then
echo "React dev server is up on https://localhost:3001"
exit 0
fi
sleep 2
done
echo "React dev server did not come up on :3001"
cat /tmp/react-dev-server.log
exit 1