- name: Cache Gradle & npm uses: actions/cache@v4 with: path: | ~/.gradle ~/.npm key: $ runner.os -gradle-npm-$ hashFiles('**/package-lock.json', '**/gradle/**/*.gradle*')
qa: unit: runner: "jest" config: "./jest.config.js" integration: runner: "detox" config: "./e2e/config.json" ui: runner: "espresso" apk: "app-debug.apk" coverage: threshold: statements: 80 branches: 70 functions: 85 lines: 85 NTRMAN - QA-APK
| Step | Tool | Command | |------|------|---------| | Keystore generation | keytool | keytool -genkeypair -v -keystore release.jks -alias release-key -keyalg RSA -keysize 2048 -validity 10000 | | Fastlane lane (sign & upload) | fastlane | ```ruby\nlane :qa_apk do\n gradle(task: "assembleRelease")\n sign_apk(\n keystore_path: "keystores/release.jks",\n keystore_password: ENV['KEYSTORE_PASS'],\n alias: "release-key",\n key_password: ENV['KEY_ALIAS_PASS']\n ) - name: Cache Gradle & npm uses: actions/cache@v4
Prepared as a quick‑reference guide for developers, QA engineers, and release managers who need to understand, set‑up, and maintain the NTRMAN – QA‑APK workflow. 1. What Is NTRMAN – QA‑APK? | Component | Description | |-----------|-------------| | NTRMAN | A lightweight N ode‑ T ype‑ R eact MAN ager – a CLI/GUI tool that orchestrates the build, test, and packaging phases for React‑Native (or other cross‑platform) mobile projects. | | QA‑APK | A Q uality‑ A ssured APK – the signed Android package generated after a full suite of automated tests (unit, integration, UI, and performance) has passed. It is the artifact that gets promoted to beta or production tracks. | | Goal | To guarantee that every APK that leaves the pipeline meets a predefined quality gate, reducing “works on my machine” bugs and speeding up release cycles. | | | Goal | To guarantee that every