Skip to content

Commit e2d9825

Browse files
authored
Created pr-check.yml
1 parent 6ae1320 commit e2d9825

File tree

1 file changed

+88
-0
lines changed

1 file changed

+88
-0
lines changed

Diff for: .github/workflows/pr-check.yml

+88
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
## Overview
2+
#
3+
# This reusable GitHub Actions workflow provides a comprehensive Continuous Integration (CI) pipeline
4+
# for multi-platform mobile and desktop applications, specifically designed for projects using Gradle and Java/Kotlin.
5+
#
6+
### Key Features
7+
# - Automated code quality checks
8+
# - Dependency management and verification
9+
# - Cross-platform desktop application builds (Windows, Linux, MacOS)
10+
# - Android APK build generation
11+
# - Artifact generation and storage
12+
#
13+
### Workflow Jobs
14+
# 1. **Setup**: Prepares the build environment
15+
# - Checks out repository code
16+
# - Sets up Java 17
17+
# - Configures Gradle
18+
# - Manages dependency caching
19+
#
20+
# 2. **Code Quality Checks**:
21+
# - Build logic verification
22+
# - Code formatting checks (Spotless)
23+
# - Static code analysis (Detekt)
24+
#
25+
# 3. **Dependency Guard**:
26+
# - Verifies dependencies against baseline
27+
# - Prevents unauthorized dependency changes
28+
# - Supports automatic baseline updates
29+
#
30+
# 4. **Android App Build**:
31+
# - Builds debug APK for demo flavor
32+
# - Uploads APK artifacts
33+
#
34+
# 5. **Desktop App Build**:
35+
# - Builds applications for Windows, Linux, and MacOS
36+
# - Generates platform-specific executables and packages
37+
#
38+
### Prerequisites
39+
# - Java 17
40+
# - Gradle
41+
# - Configured build scripts for:
42+
# - Android module
43+
# - Desktop module
44+
# - Installed Gradle plugins:
45+
# - Spotless
46+
# - Detekt
47+
# - Dependency Guard
48+
#
49+
### Configuration Parameters
50+
# The workflow requires two input parameters:
51+
#
52+
# | Parameter | Description | Type | Required |
53+
# |------------------------|------------------------------------|--------|----------|
54+
# | `android_package_name` | Name of the Android project module | String | Yes |
55+
# | `desktop_package_name` | Name of the Desktop project module | String | Yes |
56+
#
57+
58+
# https://github.com/openMF/mifos-mobile-github-actions/blob/main/.github/workflows/pr-check.yaml
59+
60+
# ##############################################################################
61+
# DON'T EDIT THIS FILE UNLESS NECESSARY #
62+
# ##############################################################################
63+
64+
65+
name: PR Checks
66+
67+
# Trigger conditions for the workflow
68+
on:
69+
push:
70+
branches: [ dev ] # Runs on pushes to dev branch
71+
pull_request: # Runs on all pull requests
72+
73+
# Concurrency settings to prevent multiple simultaneous workflow runs
74+
concurrency:
75+
group: pr-${{ github.ref }}
76+
cancel-in-progress: true # Cancels previous runs if a new one is triggered
77+
78+
permissions:
79+
contents: write
80+
81+
jobs:
82+
pr_checks:
83+
name: PR Checks
84+
uses: openMF/mifos-mobile-github-actions/.github/workflows/pr-check.yaml@main
85+
secrets: inherit
86+
with:
87+
android_package_name: 'mifospay-android'
88+
desktop_package_name: 'mifospay-desktop'

0 commit comments

Comments
 (0)