Skip to content

feat(upload): record APK CPU architectures in binary metadata - #269

Merged
riglar merged 2 commits into
devfrom
feat/apk-architectures
Oct 26, 2026
Merged

riglar merged 2 commits into
devfrom
feat/apk-architectures

Conversation

@riglar

@riglar riglar commented Oct 26, 2026

Copy link
Copy Markdown
Contributor

What

Every APK upload now records which CPU types the APK can run on. The fields go in the upload metadata, which the API already copies onto the binaries row.

  • metadata.abis: the native ABI folders under lib/<abi>/, sorted. For example ["arm64-v8a", "x86_64"].
  • metadata.architectures: ["arm"], ["x86"] or ["arm", "x86"].

Rules

  • armeabi, armeabi-v7a and arm64-v8a count as arm. x86 and x86_64 count as x86.
  • An APK with no native code runs on both: architectures is ["arm", "x86"] and abis is empty.
  • Other ABIs (riscv64, mips) are ignored.
  • It runs for plaintext and encrypted APKs alike, in the same zip read as the manifest.

Limits

  • Rows that already exist don't get the fields. A SHA-dedup hit skips the upload, so no metadata is sent.
  • Uploads from other clients (old CLI, web) won't carry them unless the API does the same check.

Testing

  • Unit tests for apkAbis and apkArchitectures, and the extractor tests updated for the wikipedia fixture (arm + x86).
  • pnpm test:unit (469 passing), pnpm lint, pnpm typecheck.

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@claude

claude Bot commented Oct 26, 2026

Copy link
Copy Markdown

Code review

No issues found. Checked for bugs and CLAUDE.md compliance.

@riglar
riglar merged commit 5f4c45e into dev Oct 26, 2026
9 checks passed
@riglar
riglar deleted the feat/apk-architectures branch October 26, 2026 11:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant