This repository uses GitHub Actions for continuous integration and deployment.
Runs on every push and pull request to main and develop branches.
Jobs:
- Build: Compiles debug and release APKs
- Test: Runs unit tests and instrumentation tests
- Lint: Performs Android lint checks
- Check Format: Validates code formatting
- Security Scan: Checks for security vulnerabilities
Runs on pull requests to perform pre-submit validation.
Checks:
- Build verification
- Unit test execution
- Test coverage validation
- TODO/FIXME detection
- Debug code detection
- File size validation
- AndroidManifest validation
- Hardcoded string detection
Triggers when a version tag is pushed (e.g., v1.0.0).
Actions:
- Builds release APK
- Signs APK (if keystore configured)
- Creates GitHub release with APK
Performs security and quality analysis.
Features:
- Static code analysis
- Security vulnerability detection
- Code quality checks
- Runs weekly and on PRs
Install pre-commit hooks locally:
pip install pre-commit
pre-commit installHooks will run automatically on git commit:
- Trailing whitespace removal
- End of file fixes
- YAML/JSON validation
- Large file detection
- Merge conflict detection
- ktlint checks
- Android lint checks
Automatically creates PRs for dependency updates:
- Gradle dependencies (weekly)
- GitHub Actions (weekly)
Add these badges to your README:


Configure these secrets in GitHub Settings → Secrets:
KEYSTORE_BASE64: Base64 encoded keystore file (for signing)KEYSTORE_PASSWORD: Keystore passwordKEY_ALIAS: Key aliasKEY_PASSWORD: Key password
Test workflows locally using act:
# Install act
brew install act # macOS
# or download from https://github.com/nektos/act/releases
# Run CI workflow
act -j build
act -j test- Check Android SDK setup
- Verify Gradle cache
- Review build logs
- Ensure all tests pass locally
- Check test coverage
- Review test logs
- Run
./gradlew lintDebuglocally - Fix reported issues
- Review lint report