Skip to content

Commit dc08ce9

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

File tree

1 file changed

+30
-1
lines changed

1 file changed

+30
-1
lines changed

.github/workflows/tests_emulator.yml

Lines changed: 30 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,35 @@ 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+
yes | sdkmanager --install "ndk;$ANDROID_NDK_HOME"
165+
echo "export PATH=$ANDROID_HOME/ndk/$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin:$PATH" >> $GITHUB_ENV
166+
167+
- name: Check APK ELF Alignment
168+
run: |
169+
chmod +x .github/check_elf_alignment.sh
170+
if [ ! -d "AnkiDroid/build/outputs/apk/" ]; then
171+
./gradlew :AnkiDroid:assemblePlayRelease --daemon
172+
fi
173+
APK_PATH="AnkiDroid/build/outputs/apk/play/release/AnkiDroid-play-arm64-v8a-release.apk"
174+
echo "Using APK: $APK_PATH"
175+
.github/check_elf_alignment.sh $APK_PATH
176+
177+
- name: Verify zipalign
178+
run: |
179+
APK_PATH="AnkiDroid/build/outputs/apk/play/release/AnkiDroid-play-arm64-v8a-release.apk"
180+
echo "Verifying zipalign with 16KB alignment for $APK_PATH"
181+
182+
# Find the latest build-tools version installed
183+
LATEST_BUILD_TOOLS=$(ls -d $ANDROID_HOME/build-tools/* | sort -V | tail -n 1)
184+
PREVIOUS_BUILD_TOOLS=$(ls -d $ANDROID_HOME/build-tools/* | sort -V | tail -n 2 | head -n 1)
185+
echo "Using build-tools versions: $LATEST_BUILD_TOOLS (primary), $PREVIOUS_BUILD_TOOLS (fallback)"
186+
187+
# Use the latest build-tools version, fallback to previous if not available
188+
$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
189+
161190
- name: Upload Test Report
162191
uses: actions/upload-artifact@v4
163192
if: always()

0 commit comments

Comments
 (0)