Add universal GhosttyKit regression test
This commit is contained in:
parent
4022a4616b
commit
89587694c6
1 changed files with 29 additions and 0 deletions
29
tests/test_ci_universal_release_settings.sh
Normal file
29
tests/test_ci_universal_release_settings.sh
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
#!/usr/bin/env bash
|
||||
# Regression test for universal GhosttyKit and Release build settings.
|
||||
set -euo pipefail
|
||||
|
||||
ROOT_DIR="$(cd "$(dirname "$0")/.." && pwd)"
|
||||
|
||||
for file in \
|
||||
"$ROOT_DIR/.github/workflows/build-ghosttykit.yml" \
|
||||
"$ROOT_DIR/scripts/setup.sh" \
|
||||
"$ROOT_DIR/scripts/build-sign-upload.sh"
|
||||
do
|
||||
if ! grep -Fq -- '-Dxcframework-target=universal' "$file"; then
|
||||
echo "FAIL: $file must build GhosttyKit with -Dxcframework-target=universal"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
if ! awk '
|
||||
/\/\* Release \*\// { in_release=1; saw_only_active_arch=0; next }
|
||||
in_release && /name = / { in_release=0 }
|
||||
in_release && /ONLY_ACTIVE_ARCH = YES;/ { saw_yes=1 }
|
||||
in_release && /ONLY_ACTIVE_ARCH = NO;/ { saw_only_active_arch=1 }
|
||||
END { exit !(saw_only_active_arch && !saw_yes) }
|
||||
' "$ROOT_DIR/GhosttyTabs.xcodeproj/project.pbxproj"; then
|
||||
echo "FAIL: Release configurations in project.pbxproj must use ONLY_ACTIVE_ARCH = NO"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "PASS: GhosttyKit builds universal and Release configs disable ONLY_ACTIVE_ARCH"
|
||||
Loading…
Add table
Add a link
Reference in a new issue