name: Mobile-Wallet CI[Master/Dev] on: pull_request: push: branches: - 'dev' - 'master' - 'payment_hub' jobs: build: name: Build APK runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 # Set up JDK - name: Set Up JDK 17 uses: actions/setup-java@v1 with: java-version: 17 # Install NDK #- name: Install NDK # run: echo "y" | sudo ${ANDROID_HOME}/tools/bin/sdkmanager --install "ndk;20.0.5594570" --sdk_root=${ANDROID_SDK_ROOT} # Update Gradle Permission - name: Change gradlew Permission run: chmod +x gradlew - name: Check Dependency Guard id: dependencyguard_verify continue-on-error: true run: ./gradlew dependencyGuard - name: Prevent updating Dependency Guard baselines if this is a fork id: checkfork_dependencyguard continue-on-error: false if: steps.dependencyguard_verify.outcome == 'failure' && github.event.pull_request.head.repo.full_name != github.repository run: | echo "::error::Dependency Guard failed, please update baselines with: ./gradlew dependencyGuardBaseline" && exit 1 # Build App - name: Build with Gradle run: ./gradlew assemble # Upload Built APK - name: Upload Build Artifacts uses: actions/upload-artifact@v2.2.0 with: name: mobile-wallet path: mifospay/build/outputs/apk/debug/ # Turing off detekt check until migration finished # lintCheck: # name: Static Analysis # runs-on: ubuntu-latest # steps: # - uses: actions/checkout@v2 # # # Setup JDK 17 # - name: Setup JDK 17 # uses: actions/setup-java@v1 # with: # java-version: 17 # # - name: Detekt For All Modules # run: ./gradlew detekt pmd: name: PMD runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 # Setup JDK 17 - name: Setup JDK 17 uses: actions/setup-java@v1 with: java-version: 17 - uses: actions/checkout@v4 - name: PMD Check[MifosPay] run: ./gradlew mifospay:pmd - name: Upload PMD Report[MifosPay] uses: actions/upload-artifact@v3.1.3 if: failure() with: name: PMD Report[MifosPay] path: mifospay/build/reports/ - name: PMD Check[Core:Datastore] run: ./gradlew core:datastore:pmd - name: PMD Check[Core:Data] run: ./gradlew core:data:pmd - name: PMD Check[Core:DesignSystem] run: ./gradlew core:designsystem:pmd - name: PMD Check[Core:Common] run: ./gradlew core:common:pmd - name: PMD Check[Core:Network] run: ./gradlew core:network:pmd - name: PMD Check[Core:Model] run: ./gradlew core:model:pmd - name: PMD Check[Feature:Auth] run: ./gradlew feature:auth:pmd checkstyle: name: Checkstyle runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 # Setup JDK 17 - name: Setup JDK 17 uses: actions/setup-java@v1 with: java-version: 17 - uses: actions/checkout@v2 - name: Checkstyle[MifosPay] run: ./gradlew mifospay:checkstyle - name: Upload Checkstyle Report[MifosPay] uses: actions/upload-artifact@v2.2.0 if: failure() with: name: Checkstyle Report[MifosPay] path: mifospay/build/reports/ - name: Static Analysis[Core:Datastore] run: ./gradlew core:datastore:checkstyle - name: Static Analysis[Core:Data] run: ./gradlew core:data:checkstyle - name: Static Analysis[Core:DesignSystem] run: ./gradlew core:designsystem:checkstyle - name: Static Analysis[Core:Common] run: ./gradlew core:common:checkstyle - name: Static Analysis[Core:Network] run: ./gradlew core:network:checkstyle - name: Static Analysis[Core:Model] run: ./gradlew core:model:checkstyle - name: Static Analysis[Feature:Auth] run: ./gradlew feature:auth:checkstyle