Skip to content

Commit ebb55a2

Browse files
committed
chore: streamline Auth0 CLI action
1 parent 696c213 commit ebb55a2

File tree

1 file changed

+27
-27
lines changed

1 file changed

+27
-27
lines changed

.github/actions/configure-auth0-screens/action.yml

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)