# Runbook: staging-deploy + LAN-telefontest

> Senast uppdaterad: 2026-08-07

## Standing rule: staging är helig under fälttest

Medan människan fälttestar får staging aldrig röras med WIP-kod eller WIP-migrationer.

- 4a/4b/4c-utveckling sker i arbetsträdet och testas mot `cibello_test`.
- Inga API-/worker-omstarter med ocommittad kod.
- Inga WIP-migrationer mot staging-databasen.
- Staging kör alltid senaste **godkända** commit tills en leverans passerat alla grindar.
- Efter godkänd leverans: kör `DEPLOY_MODE=staging ./infrastructure/deployment/first-deploy.sh` (idempotent) och sedan `./scripts/expo-lan.sh`.

## 1. Staging-deploy

```bash
DEPLOY_MODE=staging ./infrastructure/deployment/first-deploy.sh
```

När skriptet är klart kontrollerar du:

- API health: `curl -fsS http://192.168.8.123:4000/healthz`
- `API_BASE_URL` som skrivs ut måste vara `http://192.168.8.123:4000` för LAN-telefontest.

Om `API_BASE_URL` är `http://localhost:4000` kommer mobilappen att peka på telefonens egen localhost och alla anrop faller med "Network request failed". Åtgärda i `.env`:

```bash
API_BASE_URL=http://192.168.8.123:4000
CORS_ORIGINS=http://localhost:5173,http://192.168.8.123:8081
```

## 2. Starta om Expo för LAN-telefontest

**ALDRIG** `pnpm start` direkt — då saknas `REACT_NATIVE_PACKAGER_HOSTNAME` och `API_BASE_URL` vid Expo-start.

Se till att `.env.telefontest` finns:

```bash
cat .env.telefontest
# REACT_NATIVE_PACKAGER_HOSTNAME=192.168.8.123
# API_BASE_URL=http://192.168.8.123:4000
```

Starta om sessionen:

```bash
./scripts/expo-lan.sh
```

Verifiera utdata:

```bash
✅ Expo kör på exp://192.168.8.123:8081
```

## 3. Telefontest

1. Öppna kameran på telefonen och skanna QR-koden från terminalen.
2. I Expo Go: dra neråt för att ladda om bundle.
3. Testa fotoflödet: skapa → ladda upp bild → granska.

Om "Network request failed" uppstår:

- Kontrollera att datorn och telefonen är på samma Wi-Fi.
- Kontrollera att `API_BASE_URL` i `.env.telefontest` är datorns LAN-IP.
- Kontrollera att Expo-loggen visar `exp://192.168.8.123:8081`.
- Kör `./scripts/expo-lan.sh` igen.

## 4. Efter testet

Inget särskilt. Staging får lämnas igång. Vid nästa kodleverans upprepas steg 1–2.
