[PR #2260] [MERGED] feat: initial conan support and build process refactoring #2726

Closed
opened 2026-10-14 21:04:19 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/amnezia-vpn/amnezia-client/pull/2260
Author: @ygurov
Created: 2/22/2026
Status: ✅ Merged
Merged: 5/4/2026
Merged by: @vkamn

Base: dev ← Head: feat/conan


📝 Commits (10+)

  • ded1a56 feat: initial conan support
  • f720bba feat: add awg-go and awg-apple recipes
  • 8d70942 feat: macos full feature conan build, except ss and cloak
  • 79af003 feat: conan android initial support
  • 8f32c4f fix: android libssh fixes
  • 3fcd792 conan: android additional recipes and fixes
  • e4f63f1 feat: openvpn add support android
  • ba354a7 fix: awg android connection establish
  • b42fd6d conan: apple full-featured support
  • b38d06a chore: bump min macos version

📊 Changes

103 files changed (+4040 additions, -2109 deletions)

View changed files

➕ .github/actions/apple-install-cert/action.yml (+38 -0)
➕ .github/actions/apple-setup-keychain/AppleWWDRCAG3.cer (+0 -0)
📝 .github/actions/apple-setup-keychain/DeveloperIDG2CA.cer (+0 -0)
➕ .github/actions/apple-setup-keychain/action.yml (+57 -0)
➕ .github/actions/apple-setup-provisioning-profile/action.yml (+31 -0)
📝 .github/workflows/deploy.yml (+446 -287)
📝 .gitmodules (+0 -4)
📝 CMakeLists.txt (+18 -48)
📝 README.md (+75 -86)
📝 README_RU.md (+77 -78)
➖ client/3rd-prebuilt (+0 -1)
📝 client/CMakeLists.txt (+59 -49)
📝 client/android/build.gradle.kts (+1 -38)
📝 client/android/gradle/libs.versions.toml (+2 -2)
📝 client/android/settings.gradle.kts (+1 -10)
📝 client/android/src/org/amnezia/vpn/AmneziaActivity.kt (+1 -4)
📝 client/cmake/3rdparty.cmake (+7 -76)
📝 client/cmake/android.cmake (+11 -15)
📝 client/cmake/ios.cmake (+0 -11)
📝 client/cmake/macos.cmake (+0 -3)

...and 80 more files

📄 Description

Bunch of changes aimed at reducing complexibility, and making builds more consistent and transparent
Main features:

  • Replace statically-placed prebuilts with recipe-based system based on Conan
  • Replace multiple CI/CD-focused scripts with versatile per-platform .sh/.bat scripts
  • Get rid of hacks and tricks in building process on each platform
  • Put everything (including installers and APK processing/signing) in CMake. Bring CPack support
  • Put CI/CD-only features (like keychain setting up) into composite actions out of build.sh

Other changes worth looking:

  1. Reworked gradle not to split binaries, and address the actual splitting in build scripts
    https://github.com/amnezia-vpn/amnezia-client/pull/2260/changes#diff-fab04e0155bb12d83bc457c2227e2e55f0272c7ca4d058ec0e9e535eab62a439L80
  2. Replaced qt translations with qt_add_translations call (Qt 6.7+), because of the old call is being multithread-unsafe
    https://github.com/amnezia-vpn/amnezia-client/pull/2260/changes#diff-8404a76cc315289a505a0b9e571242cb4f5ba0c122fb86382329a4b714425ac3R84

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/amnezia-vpn/amnezia-client/pull/2260 **Author:** [@ygurov](https://github.com/ygurov) **Created:** 2/22/2026 **Status:** ✅ Merged **Merged:** 5/4/2026 **Merged by:** [@vkamn](https://github.com/vkamn) **Base:** `dev` ← **Head:** `feat/conan` --- ### 📝 Commits (10+) - [`ded1a56`](https://github.com/amnezia-vpn/amnezia-client/commit/ded1a5613c775b6a470a3324069f4789529a3481) feat: initial conan support - [`f720bba`](https://github.com/amnezia-vpn/amnezia-client/commit/f720bba838346174824c225fd30154cdfd9777a0) feat: add awg-go and awg-apple recipes - [`8d70942`](https://github.com/amnezia-vpn/amnezia-client/commit/8d70942692fb5754c2066c97105056b272894191) feat: macos full feature conan build, except ss and cloak - [`79af003`](https://github.com/amnezia-vpn/amnezia-client/commit/79af003a4adf4b2555307c722c2843fda1e32f86) feat: conan android initial support - [`8f32c4f`](https://github.com/amnezia-vpn/amnezia-client/commit/8f32c4f9636f5ef4a485878bd317a57180403600) fix: android libssh fixes - [`3fcd792`](https://github.com/amnezia-vpn/amnezia-client/commit/3fcd7922fc93ffffb22b867a3c3a722e41f82869) conan: android additional recipes and fixes - [`e4f63f1`](https://github.com/amnezia-vpn/amnezia-client/commit/e4f63f1c95111f088abdf130a5901fefa2a6e8d2) feat: openvpn add support android - [`ba354a7`](https://github.com/amnezia-vpn/amnezia-client/commit/ba354a7829a52e92691e2939431a8e31db5588a2) fix: awg android connection establish - [`b42fd6d`](https://github.com/amnezia-vpn/amnezia-client/commit/b42fd6d43ecc240eaff820a93484b06f1e57e215) conan: apple full-featured support - [`b38d06a`](https://github.com/amnezia-vpn/amnezia-client/commit/b38d06af261b649bb371569f99229198f6a7a960) chore: bump min macos version ### 📊 Changes **103 files changed** (+4040 additions, -2109 deletions) <details> <summary>View changed files</summary> ➕ `.github/actions/apple-install-cert/action.yml` (+38 -0) ➕ `.github/actions/apple-setup-keychain/AppleWWDRCAG3.cer` (+0 -0) 📝 `.github/actions/apple-setup-keychain/DeveloperIDG2CA.cer` (+0 -0) ➕ `.github/actions/apple-setup-keychain/action.yml` (+57 -0) ➕ `.github/actions/apple-setup-provisioning-profile/action.yml` (+31 -0) 📝 `.github/workflows/deploy.yml` (+446 -287) 📝 `.gitmodules` (+0 -4) 📝 `CMakeLists.txt` (+18 -48) 📝 `README.md` (+75 -86) 📝 `README_RU.md` (+77 -78) ➖ `client/3rd-prebuilt` (+0 -1) 📝 `client/CMakeLists.txt` (+59 -49) 📝 `client/android/build.gradle.kts` (+1 -38) 📝 `client/android/gradle/libs.versions.toml` (+2 -2) 📝 `client/android/settings.gradle.kts` (+1 -10) 📝 `client/android/src/org/amnezia/vpn/AmneziaActivity.kt` (+1 -4) 📝 `client/cmake/3rdparty.cmake` (+7 -76) 📝 `client/cmake/android.cmake` (+11 -15) 📝 `client/cmake/ios.cmake` (+0 -11) 📝 `client/cmake/macos.cmake` (+0 -3) _...and 80 more files_ </details> ### 📄 Description Bunch of changes aimed at reducing complexibility, and making builds more consistent and transparent Main features: - Replace statically-placed prebuilts with recipe-based system based on Conan - Replace multiple CI/CD-focused scripts with versatile per-platform .sh/.bat scripts - Get rid of hacks and tricks in building process on each platform - Put everything (including installers and APK processing/signing) in CMake. Bring CPack support - Put CI/CD-only features (like keychain setting up) into composite actions out of build.sh Other changes worth looking: 1. Reworked gradle not to split binaries, and address the actual splitting in build scripts https://github.com/amnezia-vpn/amnezia-client/pull/2260/changes#diff-fab04e0155bb12d83bc457c2227e2e55f0272c7ca4d058ec0e9e535eab62a439L80 2. Replaced qt translations with `qt_add_translations` call (Qt 6.7+), because of the old call is being multithread-unsafe https://github.com/amnezia-vpn/amnezia-client/pull/2260/changes#diff-8404a76cc315289a505a0b9e571242cb4f5ba0c122fb86382329a4b714425ac3R84 --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-14 21:04:19 +00:00
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
amnezia-vpn/amnezia-client#2726
No description provided.