Skip to content

Android APK upload fails: action expects artifact without 'target/' prefix #12

@TigerInYourDream

Description

@TigerInYourDream

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions