| Symptom |
Check |
npm ci fails |
package-lock.json committed; Node version compatible |
| Empty or wrong site |
artifacts.baseDirectory is dist; astro build writes there |
| Old content |
Confirm the Amplify job is for the branch you think; hard-refresh CDN |
| Symptom |
Check |
| Cannot see the repo |
Amplify GitHub App lacks access to that private repo |
| No PR previews |
Previews disabled; or webhooks missing after App reinstall |
| Builds on push but bad code merged |
Branch protection / CI not required - Amplify does not wait for checks |
| Symptom |
Check |
| Preview URL 404 after merge |
Expected if the PR branch was deleted and automatic branch deletion is on |
| Preview remains after branch delete |
Auto-delete off; delete the Amplify branch manually |
Git staging gone after promote to main |
Auto-delete head branches deleted the PR head; enable Restrict deletions (or classic Allow deletions off), recreate staging from main, reconnect in Amplify |
| Staging looks fine, main does not |
staging → main PR not merged; or main build failed |
If staging or a preview is being indexed, confirm the AWS_BRANCH != main step wrote dist/robots.txt and that the Amplify job for that branch succeeded.