summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
authorJonatan Rhodin <jonatan.rhodin@mullvad.net>2025-03-18 14:23:50 +0100
committerJonatan Rhodin <jonatan.rhodin@mullvad.net>2025-03-18 14:23:50 +0100
commit17788b06fd5f7c85ac3596de05a03791d46d4858 (patch)
tree91ee7b0d5b389baa4f03ed0e8752b60da460646e /android
parent6dd59d1fe5eeff1d7951b5ca8b9c99190ca737ef (diff)
parent31060211950711e33ac9ace9816155dc62a7f07b (diff)
downloadmullvadvpn-17788b06fd5f7c85ac3596de05a03791d46d4858.tar.xz
mullvadvpn-17788b06fd5f7c85ac3596de05a03791d46d4858.zip
Merge branch 'add-ci-workflow-to-guarantee-reproducible-builds-over-time-droid-1675'
Diffstat (limited to 'android')
-rwxr-xr-xandroid/fdroid-build/env.sh5
-rw-r--r--android/fdroid-build/metadata/net.mullvad.mullvadvpn.yml56
2 files changed, 60 insertions, 1 deletions
diff --git a/android/fdroid-build/env.sh b/android/fdroid-build/env.sh
index 641257c021..f5c9afd300 100755
--- a/android/fdroid-build/env.sh
+++ b/android/fdroid-build/env.sh
@@ -5,10 +5,13 @@
# shellcheck source=/dev/null
source "$HOME/.cargo/env"
-# Ensure Go compiler is accessible
+# Ensure Go compiler is accessible (needs to be removed if building locally on macOS)
export GOROOT="$HOME/go"
export PATH="$GOROOT/bin:$PATH"
+# Set up python3 path for the rust gradle plugin
+export RUST_ANDROID_GRADLE_PYTHON_COMMAND=/usr/bin/python3
+
# Ensure Rust crates know which tools to use for cross-compilation
export NDK_TOOLCHAIN_DIR="$NDK_PATH/toolchains/llvm/prebuilt/linux-x86_64/bin"
diff --git a/android/fdroid-build/metadata/net.mullvad.mullvadvpn.yml b/android/fdroid-build/metadata/net.mullvad.mullvadvpn.yml
new file mode 100644
index 0000000000..e99d4b6889
--- /dev/null
+++ b/android/fdroid-build/metadata/net.mullvad.mullvadvpn.yml
@@ -0,0 +1,56 @@
+AntiFeatures:
+ NonFreeNet:
+ en-US: Depends on the Mullvad VPN service.
+Categories:
+ - Connectivity
+ - Internet
+ - Security
+ - System
+License: GPL-3.0-or-later
+WebSite: https://mullvad.net
+SourceCode: https://github.com/mullvad/mullvadvpn-app
+IssueTracker: https://github.com/mullvad/mullvadvpn-app/issues
+Translation: https://github.com/mullvad/mullvadvpn-app/blob/HEAD/CONTRIBUTING.md#localization--translations
+Changelog: https://github.com/mullvad/mullvadvpn-app/blob/HEAD/android/CHANGELOG.md
+
+AutoName: Mullvad VPN
+
+RepoType: git
+Repo: https://github.com/mullvad/mullvadvpn-app.git
+
+Builds:
+ - versionName: 'Reproducible'
+ versionCode: 1
+ commit: commit-hash
+ timeout: 10800
+ subdir: android/app
+ sudo:
+ - apt-get update
+ - apt-get install -y build-essential protobuf-compiler libprotobuf-dev
+ init: NDK_PATH="$$NDK$$" ../fdroid-build/init.sh
+ output: build/outputs/apk/ossProd/fdroid/app-oss-prod-fdroid-unsigned.apk
+ rm:
+ - desktop
+ - graphics
+ - ios
+ - windows
+ - building/sigstore
+ - android/lib/billing
+ prebuild:
+ - git -C ../.. submodule update --init --recursive --depth=1 wireguard-go-rs
+ - sed -i -e 's|Repositories.GradlePlugins|"https://plugins.gradle.org/m2/"|'
+ ../build.gradle.kts
+ - sed -i '/\"desktop\//d' ../../Cargo.toml
+ - sed -i '/^android-billingclient/d' ../gradle/libs.versions.toml
+ build:
+ - NDK_PATH="$$NDK$$" source ../fdroid-build/env.sh
+ - cargo install --force cbindgen --version "0.26.0" --locked
+ - echo $NDK_TOOLCHAIN_DIR "$$NDK$$"
+ - ../build.sh --fdroid
+ ndk: 27.2.12479018
+
+AutoUpdateMode: Version
+UpdateCheckMode: Tags ^android/[0-9]{4}\.[0-9]+$
+UpdateCheckData: dist-assets/android-version-code.txt|(\d+)|dist-assets/android-version-name.txt|(.+)
+CurrentVersion: 'Reproducible'
+CurrentVersionCode: 1