Commit Graph
30 Commits
Author SHA1 Message Date
SatoshiQaziMuhammed 37c2edc6cd ci(deploy): support staged production rollout (userFraction) (#5)
Add an 'inProgress' status + a user_fraction input so production releases can
roll out gradually (e.g. 0.2 = 20%) instead of only 100% (completed).
userFraction is passed only when status=inProgress; ignored otherwise.
2026-06-14 23:02:50 -07:00
SatoshiQaziMuhammed 87bacc3f7c ci: fix develop PR build signing (validateSigningDevelop) (#4)
* ci: wire develop_key.jks into PR build (fix validateSigningDevelop)

The PR build runs assembleDevelop (signingConfigs.dev = develop_key.jks) but the
reusable workflow only decoded github/market keystores, so validateSigningDevelop
always failed. Add a develop-keystore decode step (reusing the existing
BASE64_DEV_KEYSTORE_FILE secret + CI_KEYSTORE_* passwords) and pass
keystore-file-name: develop_key.jks from pull_request.yml.

[temp] pin reusable workflow to the branch to validate before merge; reverted to
@main in the next commit.

* ci: revert reusable-workflow pin back to @main

Fix validated green on PR #4 (test/Build app and test passed, develop signing
works). Restore @main pin for the final merged state.
2026-06-14 22:51:12 -07:00
SatoshiQaziMuhammed f5df785a42 fix(ci): free disk space before building debug androidTest APKs (#1)
The scheduled 'Run balances tests' workflow has been failing for weeks
with 'No space left on device' — assembleDebug + assembleDebugAndroidTest
for every module exceeds the ~14 GB free on GitHub-hosted runners.

Add an opt-in free-disk-space input to the reusable build workflow that
removes preinstalled toolchains we never use (dotnet, ghc, CodeQL, swift,
boost, etc., ~30+ GB), and enable it for the balances test build. Other
callers of the reusable workflow are unaffected.
2026-06-11 07:22:10 -07:00
Kurdistan Tech Ministry 5245f86678 fix: use main branch in github release workflow 2026-04-20 22:16:43 +03:00
Kurdistan Tech Ministry 55df31b29b feat: prepare v1.0.3 production release with 16KB page alignment
- Add 16KB page size alignment for native Rust libraries (Google Play requirement)
- Make Play Store workflow parametric (track/status as inputs)
- Update release notes for all languages (en, tr, ku)
- Add .gitignore entries for node_modules and version.properties
2026-03-14 16:49:39 +03:00
Kurdistan Tech Ministry c965746f8f fix: use commit-count based versionCode to prevent downgrade on Firebase
CI_BUILD_ID was using github.run_number which is per-workflow, causing
different workflows to produce different versionCodes (144 vs 9).
Now computed from git commit count + offset, consistent across all workflows.
Also added bundle task to local auto-increment.
2026-03-10 02:18:55 +03:00
Kurdistan Tech Ministry 6939dfd4c3 Fix auto-pr to not fail when branches are already in sync 2026-03-02 15:08:24 +03:00
Kurdistan Tech Ministry 2177683838 Replace force-push sync with PR-based auto-merge workflow 2026-03-02 14:22:29 +03:00
Kurdistan Tech Ministry 853bbf567e fix: auto-detect sdkmanager path for self-hosted runners 2026-02-26 13:38:30 +03:00
Kurdistan Tech Ministry 2462c2b306 fix: resolve CI workflow failures across multiple jobs
- balances_test: update macos-13 → macos-14 (13 no longer supported)
- balances_test: fix null branch ref on schedule triggers
- balances_test: fix typo anroid-results → android-results
- install: fix broken NDK path reference (steps.setup-ndk not defined)
- install: use cmdline-tools/latest instead of hardcoded 16.0
- Created pezkuwichain/balances_test_result repo with gh-pages
- Added ACTIONS_DEPLOY_KEY secret for report deployment
2026-02-26 13:29:43 +03:00
Kurdistan Tech Ministry 8da8dd0088 fix: preserve symbol tables in Rust bindings for Play Store debug symbols
Rust Cargo.toml had strip=true which removes ALL symbols including the
symbol table needed by AGP to generate native-debug-symbols.zip for
Play Store. Changed to strip="debuginfo" which keeps symbol tables
(needed for crash symbolication) but removes debug info (keeps .so small).

Also made debugSymbols conditional in distribute workflow so missing
symbols don't fail the upload.
2026-02-24 20:51:08 +03:00
Kurdistan Tech Ministry abc624b57a fix: remove debugSymbols from Play Store upload
Build doesn't generate native debug symbols artifact, causing the
Market publication step to fail with ENOENT. Remove the parameter
to unblock the upload. Debug symbols can be added back when NDK
symbols are actually generated.
2026-02-24 20:45:26 +03:00
Kurdistan Tech Ministry d8810676a6 ci: upload native debug symbols to Play Store
Add native debug symbols artifact to build workflow and download/attach
them in the distribute workflow to resolve Play Console warning.
2026-02-24 20:09:31 +03:00
Kurdistan Tech Ministry e6a087f907 ci: change Play Store track from production to alpha for closed testing 2026-02-24 19:04:01 +03:00
Kurdistan Tech Ministry f746697d57 ci: remove unused setvars step from Play Store workflow
The tw3lveparsecs/github-actions-setvars action was loading env vars
from variables/android.env that are never referenced in this workflow.
It caused a build failure when GitHub services were unavailable.
2026-02-24 10:03:33 +03:00
Kurdistan Tech Ministry e13cb18576 ci: fix Play Store workflow for AAB submission
- Switch from assembleReleaseMarket (APK) to bundleReleaseMarket (AAB)
  Google Play requires AAB for new app submissions since August 2021
- Add bundle and mapping artifact uploads to reusable build workflow
- Fix mapping file path: release → releaseMarket
- Remove debugSymbols (not included in build artifact)
- Remove userFraction (incompatible with draft status)
- Remove whatsnew-ku (Play Store does not support Kurdish locale)
- Add if-no-files-found: ignore to APK upload for bundle-only builds
2026-02-24 08:11:05 +03:00
Kurdistan Tech Ministry 611a55599c ci: switch push workflow from debug to releaseMarket build 2026-02-22 18:11:43 +03:00
Kurdistan Tech Ministry ff19f88323 ci: run CodeQL on self-hosted runner (push only, not PRs) 2026-02-22 16:42:11 +03:00
Kurdistan Tech Ministry 652913da35 ci: mark CodeQL as non-blocking due to runner memory limits 2026-02-22 16:08:01 +03:00
Kurdistan Tech Ministry 8760a0b9da ci: add google-services.json setup to security workflow for CodeQL build 2026-02-22 05:44:03 +03:00
Kurdistan Tech Ministry 61451ca178 ci: fix security workflow - add secrets, install action, remove continue-on-error 2026-02-22 05:36:04 +03:00
Kurdistan Tech Ministry 31e0dcadb7 ci: use shared install action for code-quality workflow (NDK required) 2026-02-22 05:27:31 +03:00
Kurdistan Tech Ministry c794cbe5c4 ci: pass secrets to code-quality workflow and enforce ktlint 2026-02-22 05:25:24 +03:00
Kurdistan Tech Ministry 11fd0a5d10 ci: copy PROD google-services.json to all release build types
releaseMarket and releaseGithub build types need their own copy
of the production google-services.json. Without this, the
google-services plugin falls back to the dev config in app/,
causing Google Sign-In to fail on release builds.
2026-02-21 23:07:15 +03:00
Kurdistan Tech Ministry 233d06da12 ci: use release Firebase credential for releaseMarket builds 2026-02-21 21:09:55 +03:00
Kurdistan Tech Ministry 11159e4ba9 ci: add release build support to Firebase distribution workflow
Support both develop and releaseMarket variants via build_variant
input. Release builds are signed with market_key and distributed
to testers for validation before Play Store upload.
2026-02-21 20:14:00 +03:00
Kurdistan Tech Ministry 7dbfc3b85e ci: use CREDENTIAL_FILE_CONTENT for Play Store upload 2026-02-21 19:42:01 +03:00
Kurdistan Tech Ministry 03075104b4 fix: reduce false positives in hardcoded secrets scan 2026-02-19 06:30:18 +03:00
Kurdistan Tech Ministry 3061555485 ci: add Code Quality and Security workflows (ktlint, CodeQL, secret scan) 2026-02-19 05:56:11 +03:00
Kurdistan Tech Ministry a294aa1a6b Initial commit: Pezkuwi Wallet Android
Security hardened release:
- Code obfuscation enabled (minifyEnabled=true, shrinkResources=true)
- Sensitive files excluded (google-services.json, keystores)
- Branch.io key moved to BuildConfig placeholder
- Updated dependencies: OkHttp 4.12.0, Gson 2.10.1, BouncyCastle 1.77
- Comprehensive ProGuard rules for crypto wallet
- Navigation 2.7.7, Lifecycle 2.7.0, ConstraintLayout 2.1.4
2026-02-12 05:19:41 +03:00