mirror of
https://github.com/Sea-Haven-Industries/proposal-system.git
synced 2026-09-30 10:03:14 +00:00
Some checks failed
Deploy / Deploy to AWS (push) Has been cancelled
## Summary Implements Phase 3 of the AUDIT-2026-05-20 findings: - 29 FIX-severity items across API, web, infra, and lambdas - 7 accessibility NITs (aria-labels, document titles) - 4 code quality NITs (deduplication, constants extraction) Key changes: - API: N+1 fix, pagination clamping, idempotent transitions, upload confirm endpoint, revision TotalBidAmount carry-forward - Web: confirmation dialogs, currency formatting, error states, date range filters, document titles - Infra: S3 CORS lockdown, API Gateway throttling, AOSS network policy fix, CI concurrency - Lambdas: skip empty suggestions, remove status side-effect - Scripts: post-deploy health check ## Test plan - [x] tsc --noEmit (web + infra) - [x] dotnet build (api) - [x] ruff check + format (lambdas) - [x] Cross-review via orchestrator (no blockers) [skip deploy]
34 lines
1.1 KiB
Bash
Executable file
34 lines
1.1 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
cd web
|
|
npm ci
|
|
npm run build
|
|
cd ..
|
|
|
|
BUCKET=$(aws cloudformation describe-stacks \
|
|
--stack-name proposal-system-frontend \
|
|
--query "Stacks[0].Outputs[?OutputKey=='SiteBucketName'].OutputValue" \
|
|
--output text)
|
|
aws s3 sync web/dist "s3://$BUCKET" --delete
|
|
|
|
DIST_ID=$(aws cloudformation describe-stacks \
|
|
--stack-name proposal-system-frontend \
|
|
--query "Stacks[0].Outputs[?OutputKey=='DistributionId'].OutputValue" \
|
|
--output text)
|
|
aws cloudfront create-invalidation --distribution-id "$DIST_ID" --paths "/*"
|
|
|
|
# Health check: verify API is reachable
|
|
API_URL=$(aws cloudformation describe-stacks \
|
|
--stack-name proposal-system-compute \
|
|
--query "Stacks[0].Outputs[?OutputKey=='ApiEndpoint'].OutputValue" \
|
|
--output text)
|
|
|
|
echo "Running post-deploy health check..."
|
|
HTTP_STATUS=$(curl -s -o /dev/null -w "%{http_code}" "${API_URL}/api/health" --max-time 10 || true)
|
|
if [ "$HTTP_STATUS" -eq 200 ]; then
|
|
echo "Health check passed (HTTP $HTTP_STATUS)"
|
|
else
|
|
echo "WARNING: Health check returned HTTP $HTTP_STATUS" >&2
|
|
exit 1
|
|
fi
|