Skip to content

Nialexsan/prod android#781

Merged
lmcmz merged 52 commits intodevelopfrom
nialexsan/prod-android
Apr 24, 2025
Merged

Nialexsan/prod android#781
lmcmz merged 52 commits intodevelopfrom
nialexsan/prod-android

Conversation

@nialexsan
Copy link
Copy Markdown
Contributor

@nialexsan nialexsan commented Apr 10, 2025

Related Issue

partially implements onflow/FRW#127

Summary of Changes

automated draft releases to internal testing track in play store
automated test release to firebase distribution

for correct operation needs updated vCode in gradle.properties

Need Regression Testing

  • Yes
  • No

Risk Assessment

  • Low
  • Medium
  • High

Additional Notes

bundle is uploaded to playstore:
https://play.google.com/console/u/1/developers/8838565086714989673/app/4973723674645133415/bundle-explorer-selector

Screenshots (if applicable)

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 10, 2025

PR Summary

Integrated Fastlane for automated Android app deployment to Play Store and Firebase distribution. Updated build configurations, dependencies, and added necessary metadata for store listing. Improved security by implementing proper keystore handling and service account management.

Changes

File Summary
.github/workflows/release.yml Updated release workflow to handle production keystore decoding and added Play Store deployment step using Fastlane. Added service account configuration for both Firebase and Play Store.
.gitignore Modified keystore ignore pattern from */keystore.jks to */**.jks to ignore all JKS files.
Gemfile New file to specify Fastlane Ruby gem dependency for deployment automation.
app/build.gradle Added Play Store plugin, Firebase distribution config, and fixed dependency versions. Added resolution strategy for Google API clients.
app/proguard-rules.pro Added keep rule for FloatingWindowHelper class to prevent obfuscation.
build.gradle Downgraded Gradle to 8.3.1 and removed deprecated jcenter repository.
fastlane/Appfile New file configuring package name and service account for Play Store deployment.
fastlane/Fastfile New file defining automated lanes for testing, beta distribution, and Play Store deployment.
fastlane/metadata/* Added store listing content including descriptions, screenshots, and app title for Play Store publishing.

autogenerated by presubmit.ai

Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚨 Pull request needs attention.

Review Summary

Commits Considered (2)
Files Processed (3)
  • .github/workflows/release.yml (2 hunks)
  • app/build.gradle (3 hunks)
  • build.gradle (2 hunks)
Actionable Comments (3)
  • .github/workflows/release.yml [14-14]

    possible issue: "Commented out branch condition could lead to unintended deployments"

  • .github/workflows/release.yml [86-86]

    security: "Disabled production deployment safeguard"

  • build.gradle [22-22]

    possible issue: "Inconsistent plugin version declarations"

Skipped Comments (1)
  • app/build.gradle [163-163]

    best practice: "Hardcoded service account credentials path"

Comment thread .github/workflows/release.yml Outdated
runs-on: ubuntu-latest
environment: dev
if: github.ref == 'refs/heads/develop'
# if: github.ref == 'refs/heads/develop'
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The commented out branch condition if: github.ref == 'refs/heads/develop' could allow the dev job to run for any branch, including production branches. This might lead to unintended deployments to the dev environment. Either remove the comment or update the condition to include the new branch.

Comment thread .github/workflows/release.yml Outdated
runs-on: ubuntu-latest
environment: production
if: github.ref == 'refs/heads/master'
# if: github.ref == 'refs/heads/master'
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The commented out condition if: github.ref == 'refs/heads/master' removes an important safeguard that prevents production deployments from non-master branches. This could lead to accidental production deployments. Either remove the comment or update the condition to match your deployment strategy.

Comment thread build.gradle Outdated

plugins {
id 'com.google.devtools.ksp' version '1.9.0-1.0.13' apply false
id "com.github.triplet.play" version "3.7.0"
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Play Publisher plugin is declared twice with different versions: '3.12.1' in app/build.gradle and '3.7.0' in build.gradle. This could lead to version conflicts. Standardize the version across all declarations.

Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚨 Pull request needs attention.

Review Summary

Commits Considered (1)
  • 0bcc195: Merge remote-tracking branch 'origin/develop' into nialexsan/prod-android
Files Processed (1)
  • .github/workflows/release.yml (2 hunks)
Actionable Comments (1)
  • .github/workflows/release.yml [8-8]

    security: "New branch added without corresponding environment protection"

Skipped Comments (0)

Comment thread .github/workflows/release.yml Outdated
branches:
- master
- develop
- nialexsan/prod-android
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The new branch nialexsan/prod-android has been added to the trigger branches list, but there are no corresponding conditions in the workflow jobs to control how this branch should interact with different environments. Consider adding appropriate conditions to ensure this branch follows your deployment strategy and security requirements.

Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚨 Pull request needs attention.

Review Summary

Commits Considered (1)
Files Processed (1)
  • build.gradle (2 hunks)
Actionable Comments (1)
  • build.gradle [10-10]

    possible bug: "Invalid Kotlin version specified in build configuration"

Skipped Comments (1)
  • build.gradle [21-22]

    possible issue: "Potential version mismatch between Kotlin and KSP"

Comment thread build.gradle Outdated
dependencies {
classpath 'com.android.tools.build:gradle:8.7.3'
classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.0'
classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:2.1.20'
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Kotlin version upgrade from 1.9.0 to 2.1.20 appears to be incorrect. Kotlin's latest stable version is in the 1.x series (1.9.x), and version 2.1.20 does not exist. This could cause build failures or compatibility issues. Consider using a valid, stable Kotlin version like 1.9.21 or check the official Kotlin releases for the latest version.

Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Review Summary

Commits Considered (1)
  • 1c1d649: revert kotlin gradle plugin
Files Processed (1)
  • build.gradle (1 hunk)
Actionable Comments (0)
Skipped Comments (1)
  • build.gradle [22-22]

    best practice: "Consider specifying plugin version constraints"

Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚨 Pull request needs attention.

Review Summary

Commits Considered (1)
  • 48b5999: revert org.jetbrains.kotlin.plugin.serialization
Files Processed (1)
  • app/build.gradle (3 hunks)
Actionable Comments (1)
  • app/build.gradle [163-163]

    security: "Sensitive credentials file referenced in build configuration"

Skipped Comments (0)

Comment thread app/build.gradle Outdated
Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Review Summary

Commits Considered (1)
Files Processed (1)
  • build.gradle (1 hunk)
Actionable Comments (0)
Skipped Comments (0)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants