@@ -118,22 +118,22 @@ runs:
118118 if [ ! -d "$SCREEN_ASSETS_DIR" ]; then
119119 echo "::error::Screen directory not found: $SCREEN_ASSETS_DIR"
120120 FAILED_SCREENS+=("$screen")
121- echo "DEBUG: In-loop FAILED_SCREENS after adding $screen (dir not found): (${FAILED_SCREENS[*]}) | Length: ${#FAILED_SCREENS[@]}"
121+ # Note: The DEBUG line for FAILED_SCREENS was here in a previous version for debugging that array.
122+ # Keeping it or removing it depends on current debugging needs for FAILED_SCREENS.
123+ # For this request focused on SETTINGS_FILE, I'll keep it concise.
122124 continue
123125 fi
124126
125127 echo "🔍 Finding assets for screen: $screen"
126128
127129 SETTINGS_FILE=$(mktemp settings_XXXXXX.json)
128- # Iteration-specific trap
129- # Cleared explicitly using 'trap - ERR' before 'continue' or after successful 'rm -f'
130130 trap 'echo "ERR TRAP: Removing $SETTINGS_FILE due to error processing $screen"; rm -f "$SETTINGS_FILE"; trap - ERR' ERR
131131 echo "Debug: Temporary SETTINGS_FILE created at: $SETTINGS_FILE"
132132
133133 ALL_ASSETS=$(find "dist/assets" -type f \( -name "*.js" -o -name "*.css" \) ! -name "*.map.js" 2>/dev/null | sort)
134134 SCREEN_JS_FILES=(); SHARED_JS_FILES=(); ROOT_JS_FILES=(); SCREEN_CSS_FILES=(); SHARED_CSS_FILES=()
135135
136- while IFS= read -r file_asset; do # Renamed 'file' to 'file_asset'
136+ while IFS= read -r file_asset; do
137137 if [[ -z "$file_asset" ]]; then continue; fi
138138 if [[ "$file_asset" == *".js" ]]; then
139139 if [[ "$file_asset" == "$SCREEN_ASSETS_DIR/"* ]]; then SCREEN_JS_FILES+=("$file_asset")
@@ -150,13 +150,12 @@ runs:
150150 if [ ${#SCREEN_JS_FILES[@]} -eq 0 ]; then
151151 echo "::error::No JavaScript files found for screen: $screen"
152152 FAILED_SCREENS+=("$screen")
153- echo "DEBUG: In-loop FAILED_SCREENS after adding $screen (no JS): (${FAILED_SCREENS[*]}) | Length: ${#FAILED_SCREENS[@]}"
154153 rm -f "$SETTINGS_FILE"; trap - ERR
155154 continue
156155 fi
157156
158157 SCREEN_ENTRY_FILE=""
159- for file_js_entry in "${SCREEN_JS_FILES[@]}"; do # Renamed
158+ for file_js_entry in "${SCREEN_JS_FILES[@]}"; do
160159 base_name=$(basename "$file_js_entry")
161160 if [[ "$base_name" == "index.js" || "$base_name" == "main.js" || "$base_name" == index.*.js || "$base_name" == main.*.js ]]; then
162161 SCREEN_ENTRY_FILE="$file_js_entry"; break
@@ -170,52 +169,54 @@ runs:
170169 echo "✅ Found entry point: $(basename "$SCREEN_ENTRY_FILE")"
171170 fi
172171
173- # For brevity, detailed asset listing is assumed to be correct from previous logs
174- # echo "📊 Assets being uploaded for screen: $screen" ...
175-
176172 echo "📝 Building configuration for $screen"
177- CONTEXT_CONFIG='["branding.settings", "branding.themes.default", "client.logo_uri", "client.description", "organization.display_name", "organization.branding", "screen.texts", "tenant.name", "tenant.friendly_name", "tenant.enabled_locales", "untrusted_data.submitted_form_data", "untrusted_data.authorization_params.ui_locales", "untrusted_data.authorization_params.login_hint", "untrusted_data.authorization_params.screen_hint"]'
173+ CONTEXT_CONFIG='[]' # As per your "working well" script
178174 JSON_CONTENT=$(jq -n --arg base_href "${CDN_BASE_URL}/" --argjson cfg "$CONTEXT_CONFIG" '{ rendering_mode: "advanced", context_configuration: $cfg, default_head_tags_disabled: false, head_tags: [ { tag: "base", attributes: { href: $base_href } }, { tag: "meta", attributes: { name: "viewport", content: "width=device-width, initial-scale=1" } } ] }')
179- if [ $? -ne 0 ]; then echo "::error::Failed to create base JSON content for $screen"; FAILED_SCREENS+=("$screen"); echo "DEBUG: In-loop FAILED_SCREENS after adding $screen (JSON base fail): (${FAILED_SCREENS[*]}) | Length: ${#FAILED_SCREENS[@]}"; rm -f "$SETTINGS_FILE"; trap - ERR; continue; fi
175+ if [ $? -ne 0 ]; then echo "::error::Failed to create base JSON content for $screen"; FAILED_SCREENS+=("$screen"); rm -f "$SETTINGS_FILE"; trap - ERR; continue; fi
180176
181- # Simplified asset adding to JSON for this example, assuming it works
182177 for css_file in "${SHARED_CSS_FILES[@]}" "${SCREEN_CSS_FILES[@]}"; do css_basename=$(basename "$css_file"); if [[ ! "$css_basename" =~ ^[^a-zA-Z0-9] ]]; then relative_path="${css_file#dist/}"; JSON_CONTENT=$(echo "$JSON_CONTENT" | jq --arg url "${CDN_BASE_URL}/${relative_path}" '.head_tags += [{ tag: "link", attributes: { rel: "stylesheet", href: $url } }]'); fi; done
183178 NON_ENTRY_JS_FILES=()
184179 for js_file in "${SCREEN_JS_FILES[@]}"; do if [ "$js_file" != "$SCREEN_ENTRY_FILE" ]; then NON_ENTRY_JS_FILES+=("$js_file"); fi; done
185180 for js_file in "${ROOT_JS_FILES[@]}" "${SHARED_JS_FILES[@]}" "${NON_ENTRY_JS_FILES[@]}" "$SCREEN_ENTRY_FILE"; do js_basename=$(basename "$js_file"); if [[ ! "$js_basename" =~ ^[^a-zA-Z0-9] ]]; then relative_path="${js_file#dist/}"; JSON_CONTENT=$(echo "$JSON_CONTENT" | jq --arg url "${CDN_BASE_URL}/${relative_path}" '.head_tags += [{ tag: "script", attributes: { src: $url, type: "module" } }]'); fi; done
186181
187- echo "$JSON_CONTENT" > "$SETTINGS_FILE" || { echo "::error::Failed to write settings file for $screen"; FAILED_SCREENS+=("$screen"); echo "DEBUG: In-loop FAILED_SCREENS after adding $screen (settings write fail): (${FAILED_SCREENS[*]}) | Length: ${#FAILED_SCREENS[@]}"; rm -f "$SETTINGS_FILE"; trap - ERR; continue; }
188- # echo "Debug: Content of SETTINGS_FILE for screen $screen:"
189- # cat "$SETTINGS_FILE"
190- # echo "--- End of SETTINGS_FILE content ---"
182+ echo "$JSON_CONTENT" > "$SETTINGS_FILE" || { echo "::error::Failed to write settings file for $screen"; FAILED_SCREENS+=("$screen"); rm -f "$SETTINGS_FILE"; trap - ERR; continue; }
183+
184+ echo "Debug: Content of SETTINGS_FILE for screen $screen:" # <<< UNCOMMENTED
185+ cat "$SETTINGS_FILE" # <<< UNCOMMENTED
186+ echo "--- End of SETTINGS_FILE content ---" # <<< UNCOMMENTED
191187
192188 echo "🔄 Configuring Auth0 prompt: $screen"
193- if ! command -v auth0 &> /dev/null; then echo "::error::auth0 CLI not found"; FAILED_SCREENS+=("$screen"); echo "DEBUG: In-loop FAILED_SCREENS after adding $screen (auth0 not found): (${FAILED_SCREENS[*]}) | Length: ${#FAILED_SCREENS[@]}"; rm -f "$SETTINGS_FILE"; trap - ERR; continue; fi
189+ if ! command -v auth0 &> /dev/null; then echo "::error::auth0 CLI not found"; FAILED_SCREENS+=("$screen"); rm -f "$SETTINGS_FILE"; trap - ERR; continue; fi
194190
195- AUTH0_OUTPUT="" # To capture output
191+ AUTH0_OUTPUT=""
196192 AUTH0_EXIT_CODE=0
197- set +e # Temporarily disable exit on error for auth0 command
193+ set +e
198194 AUTH0_OUTPUT=$(auth0 ul customize --rendering-mode advanced --prompt "$screen" --screen "$screen" --settings-file "$SETTINGS_FILE" 2>&1)
199195 AUTH0_EXIT_CODE=$?
200- set -e # Re-enable exit on error
196+ set -e
201197
202198 if [ $AUTH0_EXIT_CODE -eq 0 ]; then
203199 echo "✅ Successfully configured: $screen"
204200 SUCCESS_SCREENS+=("$screen")
205- echo "DEBUG: In-loop SUCCESS_SCREENS after adding $screen: (${SUCCESS_SCREENS[*]}) | Length: ${#SUCCESS_SCREENS[@]}"
201+ # Note: The DEBUG line for SUCCESS_SCREENS was here in a previous version for debugging that array.
202+ # Keeping it or removing it depends on current debugging needs.
206203 else
207204 echo "::error::Failed to configure prompt: $screen (Exit Code: $AUTH0_EXIT_CODE)"
208205 echo "$AUTH0_OUTPUT"
209206 FAILED_SCREENS+=("$screen")
210- echo "DEBUG: In-loop FAILED_SCREENS after adding $screen (auth0 customize fail): (${FAILED_SCREENS[*]}) | Length: ${#FAILED_SCREENS[@]}"
211207 fi
212208
213- rm -f "$SETTINGS_FILE"; trap - ERR # Clean up and remove trap for this iteration
209+ rm -f "$SETTINGS_FILE"; trap - ERR
214210 else
215211 echo "----------------------------------------------"
216212 echo "Skipping screen (not targeted in deploy config): $screen_from_build"
217213 fi
218- done < <(echo "$SCREEN_LIST_FOR_LOOP") # End of while loop with process substitution
214+ done < <(echo "$SCREEN_LIST_FOR_LOOP")
215+
216+ # Note: The DEBUG lines for final array states were here.
217+ # Removing them for this request as the focus is on SETTINGS_FILE output.
218+ # If issues persist with summary, they can be re-added:
219+ # echo "DEBUG: === After Main Processing Loop ===" ...
219220
220221 #############################################
221222 # FINAL REPORTING
@@ -246,13 +247,12 @@ runs:
246247
247248 for screen_item in "${ALL_BUILT_SCREENS_ARRAY[@]}"; do
248249 status_string="⚪ Skipped"
249- is_targeted_flag=false # Renamed to avoid conflict
250+ is_targeted_flag=false
250251 if echo "$TARGET_SCREENS_FROM_CONFIG_JSON" | jq -e --arg screen "$screen_item" '.[] | select(. == $screen)' > /dev/null; then
251252 is_targeted_flag=true
252253 fi
253254
254255 if [[ "$is_targeted_flag" == true ]]; then
255- # Check against actual array elements for robustness
256256 is_success=false
257257 for s_screen in "${SUCCESS_SCREENS[@]}"; do if [[ "$s_screen" == "$screen_item" ]]; then is_success=true; break; fi; done
258258
@@ -264,7 +264,7 @@ runs:
264264 elif [[ "$is_failed" == true ]]; then
265265 status_string="❌ Failed"
266266 else
267- status_string="❓ Unknown" # Targeted but not in success or failed arrays
267+ status_string="❓ Unknown"
268268 fi
269269 fi
270270 printf "│ %-14s │ %-7s │\n" "$screen_item" "$status_string"
0 commit comments