Skip to content

Conversation

@graycreate
Copy link
Member

Summary

  • Implements automated Google Play Store deployment using Fastlane
  • Adds GitHub Actions workflow for automated releases
  • Configures secure handling of Google Play credentials

Changes

  • Added Fastlane configuration for Google Play deployment
  • Created GitHub Actions workflow for automated releases
  • Enhanced release workflow with Fastlane integration
  • Added comprehensive deployment documentation
  • Configured secure credential management via GitHub secrets

Test Plan

  • Verify GitHub Actions workflow syntax
  • Confirm Fastlane configuration is valid
  • Test credential security setup
  • Validate release workflow triggers
  • Ensure backward compatibility with existing release process

🤖 Generated with Claude Code

- Enhanced release workflow with Play Store upload support
- Added Fastlane configuration for flexible deployment options
- Support for multiple release tracks (internal, alpha, beta, production)
- Configurable release status (draft, completed)
- Debug symbols upload support
- Comprehensive deployment documentation
- Security best practices with service account authentication

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
Copilot AI review requested due to automatic review settings September 9, 2025 06:54

This comment was marked as outdated.

- Update Fastfile rollout comment to clarify decimal representation
- Remove unused GHUI_ environment variables from release workflow
- Fix Play Console URL by removing placeholder developer ID

🤖 Generated with Claude Code (https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
@graycreate graycreate requested a review from Copilot September 9, 2025 07:05
Copy link

Copilot AI 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 Overview

This PR implements automated Google Play Store deployment using Fastlane and GitHub Actions for the V2er Android app. The changes add comprehensive CI/CD infrastructure for releasing apps to Google Play Store with proper credential management and deployment workflows.

Key changes:

  • Added Fastlane configuration with lanes for different release tracks (internal, alpha, beta, production)
  • Enhanced GitHub Actions workflows with Play Store upload capabilities and manual deployment options
  • Created comprehensive deployment documentation with security best practices

Reviewed Changes

Copilot reviewed 7 out of 8 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
fastlane/Fastfile Defines Fastlane lanes for building, testing, and deploying to various Play Store tracks
fastlane/Appfile Configures package name and Google Play Console API credentials
docs/PLAY_STORE_DEPLOYMENT.md Comprehensive deployment guide with setup instructions and troubleshooting
Gemfile Ruby dependencies for Fastlane and Firebase distribution plugin
.gitignore.fastlane Git ignore rules for Fastlane-generated files and sensitive data
.github/workflows/release.yml Enhanced release workflow with Play Store deployment capabilities
.github/workflows/fastlane-deploy.yml Dedicated workflow for manual Fastlane deployments

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

upload_to_play_store(
track: "beta",
track_promote_to: "production",
rollout: "0.1", # Start with 10% rollout (0.1 = 10%)
Copy link

Copilot AI Sep 9, 2025

Choose a reason for hiding this comment

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

The rollout value should be a string representing a percentage between 0.05 (5%) and 1.0 (100%). The comment states 10% but 0.1 represents 10%, not the minimum 5% that Google Play typically requires for staged rollouts.

Copilot uses AI. Check for mistakes.
Comment on lines +164 to +173
desc "Submit a new build to Crashlytics for testing"
lane :crashlytics_beta do
build_apk
# Assuming Firebase Crashlytics is configured
# firebase_app_distribution(
# app: ENV["FIREBASE_APP_ID"],
# groups: "testers",
# release_notes: "New beta build"
# )
end
Copy link

Copilot AI Sep 9, 2025

Choose a reason for hiding this comment

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

The crashlytics_beta lane builds an APK but doesn't use it since the Firebase distribution code is commented out. Either implement the Firebase distribution functionality or remove this incomplete lane to avoid confusion.

Copilot uses AI. Check for mistakes.
Comment on lines +316 to +322
# Get recent commits
git log --pretty=format:"• %s" -5 >> whatsnew/whatsnew-en-US
# Chinese version
echo "版本 ${{ needs.prepare.outputs.version }}" > whatsnew/whatsnew-zh-CN
echo "" >> whatsnew/whatsnew-zh-CN
git log --pretty=format:"• %s" -5 >> whatsnew/whatsnew-zh-CN
Copy link

Copilot AI Sep 9, 2025

Choose a reason for hiding this comment

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

Using git commit messages directly in Play Store release notes is problematic because they may contain technical details inappropriate for end users and could exceed Play Store's 500-character limit. Consider using predefined release notes or filtering commit messages for user-facing content.

Copilot uses AI. Check for mistakes.
Comment on lines +339 to +343
- name: Upload to Play Store (without debug symbols)
if: steps.find-files.outputs.symbols_path == '' || steps.upload-with-symbols.outcome == 'failure'
uses: r0adkll/upload-google-play@v1
with:
serviceAccountJsonPlainText: ${{ secrets.SERVICE_ACCOUNT_JSON }}
serviceAccountJsonPlainText: ${{ secrets.PLAY_STORE_SERVICE_ACCOUNT_JSON }}
Copy link

Copilot AI Sep 9, 2025

Choose a reason for hiding this comment

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

Using serviceAccountJsonPlainText exposes the service account JSON in workflow logs. Consider using serviceAccountJson with a file path or ensure the workflow logs are properly secured and access is restricted.

Copilot uses AI. Check for mistakes.
@graycreate graycreate merged commit cf4e13e into main Sep 9, 2025
5 checks passed
@graycreate graycreate deleted the feature/google-play-deployment branch September 9, 2025 07:35
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.

2 participants