forked from ASUCICREPO/PDF_accessability_UI
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuildspec-frontend.yml
More file actions
72 lines (68 loc) · 2.64 KB
/
buildspec-frontend.yml
File metadata and controls
72 lines (68 loc) · 2.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
version: 0.2
phases:
install:
runtime-versions:
nodejs: 20
python: 3.12
commands:
- echo "Installing zip utility..."
- yum install -y zip
- echo "Changing into pdf_ui directory"
- cd pdf_ui
pre_build:
commands:
- echo "Installing frontend dependencies..."
- npm ci
- echo "Creating .env file with environment variables..."
- |
# Extract AWS region from User Pool ID (format: region_poolId)
AWS_REGION=$(echo $REACT_APP_USER_POOL_ID | cut -d'_' -f1)
cat > .env << EOF
# Environment variables for PDF Accessibility UI
REACT_APP_MAINTENANCE_MODE=false
REACT_APP_AUTHORITY=cognito-idp.$AWS_REGION.amazonaws.com/$REACT_APP_USER_POOL_ID
REACT_APP_AWS_REGION=$AWS_REGION
REACT_APP_PDF_BUCKET_NAME=$PDF_TO_PDF_BUCKET
REACT_APP_BUCKET_REGION=$AWS_REGION
REACT_APP_HTML_BUCKET_NAME=$PDF_TO_HTML_BUCKET
REACT_APP_DOMAIN_PREFIX=$REACT_APP_USER_POOL_DOMAIN
REACT_APP_IDENTITY_POOL_ID=$REACT_APP_IDENTITY_POOL_ID
REACT_APP_UPDATE_FIRST_SIGN_IN=$REACT_APP_UPDATE_FIRST_SIGN_IN_ENDPOINT
REACT_APP_UPLOAD_QUOTA_API=$REACT_APP_CHECK_UPLOAD_QUOTA_ENDPOINT
REACT_APP_USER_POOL_CLIENT_ID=$REACT_APP_USER_POOL_CLIENT_ID
REACT_APP_USER_POOL_ID=$REACT_APP_USER_POOL_ID
REACT_APP_HOSTED_UI_URL=$REACT_APP_AMPLIFY_APP_URL
EOF
- echo "Contents of .env file:"
- cat .env
build:
commands:
- echo "Building React application..."
- npm run build
- echo "Creating deployment package..."
- cd build && zip -r build .
- echo "Frontend build completed successfully"
post_build:
commands:
- echo "🚀 Deploying frontend to Amplify..."
- echo $AMPLIFY_APP_ID
- echo "Creating Amplify deployment..."
- >-
aws amplify create-deployment \
--app-id $AMPLIFY_APP_ID \
--branch-name main \
--output json > deployment_response.json
- echo "Extracting upload URL and job ID..."
- >-
export UPLOAD_URL=$(python3 -c "import json; data=json.load(open('deployment_response.json')); print(data['zipUploadUrl'])")
- >-
export JOB_ID=$(python3 -c "import json; data=json.load(open('deployment_response.json')); print(data['jobId'])")
- echo "Uploading build.zip to Amplify..."
- curl -X PUT -T build.zip "$UPLOAD_URL"
- echo "Starting deployment..."
- >-
aws amplify start-deployment \
--app-id $AMPLIFY_APP_ID \
--branch-name main \
--job-id $JOB_ID
- echo "✅ Frontend deployment initiated successfully!"