Skip to content

Commit d46e53c

Browse files
committed
CI test for 16kb and non-16kb page alignment
1 parent cb55d4b commit d46e53c

File tree

1 file changed

+32
-1
lines changed

1 file changed

+32
-1
lines changed

.github/workflows/tests_emulator.yml

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727
# Refactor to make these dynamic with a low/high bracket only on schedule, not push
2828
# For now this is the latest supported API. Previously API 29 was fastest.
2929
# #13695: This was reverted to API 30, 31 was unstable. This should be fixed
30-
api-level: [30]
30+
api-level: [30, 35]
3131
arch: [x86_64]
3232
target: [google_apis]
3333
first-boot-delay: [600]
@@ -158,6 +158,37 @@ jobs:
158158
sleep 5
159159
./gradlew uninstallAll jacocoAndroidTestReport --daemon
160160
161+
- name: Install NDK tools
162+
run: |
163+
echo "Installing NDK tools for alignment checking"
164+
# Extract just the version number from the NDK path
165+
NDK_VERSION="27.2.12479018"
166+
yes | sdkmanager --install "ndk;$NDK_VERSION"
167+
echo "export PATH=$ANDROID_HOME/ndk/$NDK_VERSION/toolchains/llvm/prebuilt/linux-x86_64/bin:$PATH" >> $GITHUB_ENV
168+
169+
- name: Check APK ELF Alignment
170+
run: |
171+
chmod +x .github/check_elf_alignment.sh
172+
if [ ! -d "AnkiDroid/build/outputs/apk/" ]; then
173+
./gradlew :AnkiDroid:assemblePlayRelease --daemon
174+
fi
175+
APK_PATH="AnkiDroid/build/outputs/apk/play/release/AnkiDroid-play-arm64-v8a-release.apk"
176+
echo "Using APK: $APK_PATH"
177+
.github/check_elf_alignment.sh $APK_PATH
178+
179+
- name: Verify zipalign
180+
run: |
181+
APK_PATH="AnkiDroid/build/outputs/apk/play/release/AnkiDroid-play-arm64-v8a-release.apk"
182+
echo "Verifying zipalign with 16KB alignment for $APK_PATH"
183+
184+
# Find the latest build-tools version installed
185+
LATEST_BUILD_TOOLS=$(ls -d $ANDROID_HOME/build-tools/* | sort -V | tail -n 1)
186+
PREVIOUS_BUILD_TOOLS=$(ls -d $ANDROID_HOME/build-tools/* | sort -V | tail -n 2 | head -n 1)
187+
echo "Using build-tools versions: $LATEST_BUILD_TOOLS (primary), $PREVIOUS_BUILD_TOOLS (fallback)"
188+
189+
# Use the latest build-tools version, fallback to previous if not available
190+
$ANDROID_HOME/build-tools/$LATEST_BUILD_TOOLS/zipalign -c -P 16 -v 4 $APK_PATH || $ANDROID_HOME/build-tools/$PREVIOUS_BUILD_TOOLS/zipalign -c -P 16 -v 4 $APK_PATH
191+
161192
- name: Upload Test Report
162193
uses: actions/upload-artifact@v4
163194
if: always()

0 commit comments

Comments
 (0)