TeamAmaze / TeamAmaze/AmazeFileManager

Reproducible Builds

Open
#4,551 6 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Area-CICD
Dominant language
Kotlin
Stars
6.4k
Forks
1.7k
Avg merge
3d 9h
Merged PRs (30d)
1

Description

I'm just trying to set up verification of Reproducible Builds for Amaze, but I got stuck – I guess due to missing details. Build currently fails with:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':file_operations:cargoBuildArm'.
> Process 'command 'cargo'' finished with non-zero exit value 101

The build recipe used (running in a Podman container with Debian bookworm, OpenJDK 17, and NDK 28.2.13676358 (aka 28c)):

build:
  - sed -r '/signingConfigs.release/d' -i app/build.gradle
  - RUST_TOOLCHAIN="1.92.0"
  - RUSTUP_VERSION="1.28.2"
  - git clone https://github.com/rust-lang/rustup.git -b $RUSTUP_VERSION
  - export ANDROID_NDK=/opt/sdk/ndk/${PROVISIONING_NDK}
  - ${BUILD_REPO_DIR}/rustup/rustup-init.sh -y --default-toolchain=$RUST_TOOLCHAIN --target armv7-linux-androideabi --target aarch64-linux-android --target i686-linux-android --target x86_64-linux-android
  - source $HOME/.cargo/env
  - pushd file_operations
  - chmod +x setup_rust_android.sh
  - ./setup_rust_android.sh
  - rustup target list --installed | grep android || { echo "No Android targets found"; exit 1; }
  - if ! test -f .cargo/config.toml; then
  - echo "❌ .cargo/config.toml missing"
  - exit 1
  - fi
  - popd
  - chmod +x gradlew
  - ./gradlew assembleFdroidRelease

For several things I had to make assumptions, as your repo doesn't state (or I didn't find it), e.g. the Rust toolchain and Rustup versions used (other projects have that in some toolchains.toml). I also don't (yet) know the build path, which will be important here for RB to succeed.

Can you please give me some pointers? Thanks in advance!

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing app/build.gradle, file_operations/setup_rust_android.sh, and any existing .cargo/config.toml, then run the provided Podman/Debian build recipe through ./gradlew assembleFdroidRelease. Check how the Rust toolchain, Android targets, NDK, and build path are defined. Done means the documented setup supports the requested reproducible-build verification without the cargoBuildArm failure.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, kotlin, rust
Domain
build-system, mobile
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.