Summary
The Android packaging step compiles and builds the APK successfully, but the upload step fails because the action looks for the APK at a path missing the target/ prefix.
Environment
- Action:
project-robius/makepad-packaging-action@v1
- Runner:
ubuntu-22.04
- Target:
aarch64-linux-android
- Invocation:
args: --target aarch64-linux-android
- cargo-makepad source:
kevinaboos/makepad branch cargo_makepad_ndk_fix
Evidence
From CI run 24386232833:
Build step succeeds and prints:
warning: missing Android launcher icons under /home/runner/work/robrix2/robrix2/target/android/makepad-android-apk/robrix/tmp/res
Upload step then fails with:
##[error]Error: Missing artifacts on disk:
/home/runner/work/robrix2/robrix2/android/makepad-android-apk/robrix/apk/robrix_v0.0.1-pre-alpha-4_aarch64.apk
Notice the expected path lacks the target/ prefix that the actual build uses.
Hypothesis
The action's Android branch hardcodes android/makepad-android-apk/<project>/apk/<name>.apk relative to the workspace root, but cargo-makepad android build emits to target/android/makepad-android-apk/<project>/apk/<name>.apk. Either cargo-makepad moved the output directory and the action wasn't updated, or the path was always wrong.
Reproducibility
Failed for us on 3 consecutive runs, all at the same step:
Suggested Fix
Prepend target/ to the hardcoded APK artifact path, or use a glob such as target/**/<project>*.apk to tolerate future cargo-makepad layout changes.
Reference
Tracked downstream at Project-Robius-China/robrix2 as issues/005.
Summary
The Android packaging step compiles and builds the APK successfully, but the upload step fails because the action looks for the APK at a path missing the
target/prefix.Environment
project-robius/makepad-packaging-action@v1ubuntu-22.04aarch64-linux-androidargs: --target aarch64-linux-androidkevinaboos/makepadbranchcargo_makepad_ndk_fixEvidence
From CI run 24386232833:
Build step succeeds and prints:
Upload step then fails with:
Notice the expected path lacks the
target/prefix that the actual build uses.Hypothesis
The action's Android branch hardcodes
android/makepad-android-apk/<project>/apk/<name>.apkrelative to the workspace root, butcargo-makepad android buildemits totarget/android/makepad-android-apk/<project>/apk/<name>.apk. Eithercargo-makepadmoved the output directory and the action wasn't updated, or the path was always wrong.Reproducibility
Failed for us on 3 consecutive runs, all at the same step:
Suggested Fix
Prepend
target/to the hardcoded APK artifact path, or use a glob such astarget/**/<project>*.apkto tolerate future cargo-makepad layout changes.Reference
Tracked downstream at
Project-Robius-China/robrix2as issues/005.