Pull Request #1737
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Pull Request | |
on: | |
pull_request: | |
branches: | |
- main | |
merge_group: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
name: Validate PR | |
runs-on: ubuntu-latest | |
if: github.event_name != 'merge_group' | |
steps: | |
- name: Checkout the Code | |
uses: actions/checkout@v4 | |
- name: Setup JDK | |
uses: actions/setup-java@v4 | |
with: | |
distribution: zulu | |
java-version: 17 | |
- name: Setup Gradle | |
uses: gradle/actions/setup-gradle@v4 | |
- name: Build debug APK | |
run: ./gradlew assembleMadaniDebug | |
- name: Run lint | |
run: ./gradlew lintMadaniDebug | |
- name: Upload lint results | |
uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: lint_report | |
path: app/build/reports/lint-results-madaniDebug.html | |
- name: Run SqlDelight migration tests | |
run: ./gradlew verifySqlDelightMigration | |
- name: Run tests | |
run: ./gradlew testMadaniDebug -PdisableCrashlytics -PdisableFirebase | |
- name: Upload test report | |
uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: unit_test_report | |
path: app/build/reports/tests/testMadaniDebugUnitTest/ | |
- name: Download Previous Debug APK | |
uses: dawidd6/action-download-artifact@v6 | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
workflow: post_merge.yml | |
name: latest-apk | |
- name: Run Apk Diff | |
run: | | |
gh release download -p '*.jar' -R jakewharton/diffuse 0.1.0 | |
java -jar diffuse-0.1.0-binary.jar diff app-madani-debug.apk app/build/outputs/apk/madani/debug/app-madani-debug.apk > apk_differences.txt | |
{ echo "\`\`\`"; head -n 17 apk_differences.txt; echo "\`\`\`"; echo; } >> apk_differences_summary.txt | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Upload Apk Diff Results | |
uses: actions/upload-artifact@v4 | |
if: success() | |
with: | |
name: apk_differences | |
path: apk_differences_summary.txt | |
- name: Get dependencies list | |
run: ./gradlew :app:dependencies --configuration madaniReleaseRuntimeClasspath > current_dependencies.txt | |
- name: Download Previous Dependencies List | |
uses: dawidd6/action-download-artifact@v6 | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
workflow: post_merge.yml | |
name: dependencies | |
- name: Download and run dependency-diff-tldr | |
run: | | |
gh release download -p '*.jar' -R careem/dependency-diff-tldr v0.0.2 | |
echo "Running Dependency Diff" | |
java -jar dependency-diff-tldr-r8.jar dependencies.txt current_dependencies.txt > difference.txt | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Upload Dependency Diff Results | |
uses: actions/upload-artifact@v4 | |
if: success() | |
with: | |
name: dependency_differences | |
path: difference.txt | |
- name: Write the PR Number | |
run: | | |
echo ${{ github.event.number }} > pr.txt | |
- name: Upload PR Number | |
uses: actions/upload-artifact@v4 | |
with: | |
name: pr | |
path: pr.txt | |
env: | |
GRADLE_OPTS: -Dorg.gradle.jvmargs="-Xmx8G -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -XX:+UseParallelGC -Dfile.encoding=UTF-8" |