Skip to content

Commit 7a6a77a

Browse files
Add SFRA Check Github Actions
2 parents d11dcd2 + 950c492 commit 7a6a77a

1 file changed

Lines changed: 39 additions & 4 deletions

File tree

.github/workflows/verify-zip.yml

Lines changed: 39 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -166,8 +166,42 @@ jobs:
166166
done
167167
rm -rf "$tmpdir"
168168
done < changed_zips.txt
169-
170-
- name: Step 4 - [Tax] Verify hooks exist and scripts resolve
169+
170+
- name: Step 4 - Disallow SFRA controllers under site_cartridge(s)
171+
shell: bash
172+
run: |
173+
set -euo pipefail
174+
175+
[[ -s changed_zips.txt ]] || exit 0
176+
177+
while IFS= read -r zip_path; do
178+
[[ -f "$zip_path" ]] || continue
179+
180+
tmpdir="$(mktemp -d)"
181+
unzip -q "$zip_path" -d "$tmpdir"
182+
183+
mapfile -t controllers_dirs < <(find "$tmpdir" -type d -name controllers -print | sort -u)
184+
185+
offending=()
186+
for dir in "${controllers_dirs[@]}"; do
187+
case "$dir" in
188+
*/site_cartridge/*|*/site_cartridges/*)
189+
offending+=("$dir")
190+
;;
191+
esac
192+
done
193+
194+
if [[ ${#offending[@]} -gt 0 ]]; then
195+
echo "::error file=$zip_path::Found disallowed SFRA controllers directory under site_cartridge(s):"
196+
printf ' - %s\n' "${offending[@]}"
197+
rm -rf "$tmpdir"
198+
exit 1
199+
fi
200+
201+
rm -rf "$tmpdir"
202+
done < changed_zips.txt
203+
204+
- name: Step 5 - [Tax] Verify hooks exist and scripts resolve
171205
shell: bash
172206
run: |
173207
set -euo pipefail
@@ -251,5 +285,6 @@ jobs:
251285
done < changed_zips.txt
252286
253287
if [[ "$is_tax_app" == "false" ]]; then
254-
echo "No changed tax apps. Skipping Step 3."
255-
fi
288+
echo "No changed tax apps. Skipping Step 5."
289+
fi
290+

0 commit comments

Comments
 (0)