Skip to content

feat(store): respect PUBLIC_HIDE_DETAIL_BAY on the public shop page #42

feat(store): respect PUBLIC_HIDE_DETAIL_BAY on the public shop page

feat(store): respect PUBLIC_HIDE_DETAIL_BAY on the public shop page #42

Workflow file for this run

name: E2E Tests
on:
push:
branches: [main]
pull_request:
jobs:
test:
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Install dependencies
run: bun install
- name: Install Playwright Chromium
run: bunx playwright install --with-deps chromium
# Railway auto-deploys on every push to main, taking ~60-120s. CI runs
# in parallel, so without this wait the test suite hits the staging app
# mid-deploy — register endpoints hang and global-setup times out.
- name: Wait for staging deploy to settle
if: github.event_name == 'push'
run: |
echo "Giving Railway a 45s head start…"
sleep 45
echo "Polling staging for readiness…"
for i in $(seq 1 36); do
catalog=$(curl -s -o /dev/null -w '%{http_code}' https://thewrench.club/api/catalog)
root=$(curl -s -o /dev/null -w '%{http_code}' https://thewrench.club/)
if [ "$catalog" = "200" ] && [ "$root" = "200" ]; then
echo "Ready after poll $i (catalog=$catalog, root=$root)"
exit 0
fi
echo "Poll $i: catalog=$catalog root=$root — waiting 5s"
sleep 5
done
echo "Staging did not reach healthy state in 3m; running tests anyway"
- name: Run E2E tests
run: bunx playwright test
env:
TEST_BASE_URL: https://thewrench.club
- name: Upload Playwright report on failure
uses: actions/upload-artifact@v4
if: failure()
with:
name: playwright-report
path: playwright-report/
retention-days: 7