Skip to content

[REFACTOR/#249] signing 설정 수정 및 버전 수정#250

Merged
MoonsuKang merged 2 commits intodevelopfrom
refactor/#249-release-signing
Apr 5, 2025
Merged

[REFACTOR/#249] signing 설정 수정 및 버전 수정#250
MoonsuKang merged 2 commits intodevelopfrom
refactor/#249-release-signing

Conversation

@MoonsuKang
Copy link
Contributor

@MoonsuKang MoonsuKang commented Apr 4, 2025

📌 ISSUE

closed #249

📄 Work Description

  • release signing 추가
  • 버전 코드, 버전 네임 수정

✨ PR Point

  • 저번에 지웠던 release signing이 생각해보니까 AAB 파일 뽑을려면 필요해서 다시 부활 시켰습니다.
    REFACTOR/[REFACTOR] signing 설정 수정 및 버전 수정 #249 -> develop -> staging -> release 이 순서로 해서 CI/CD가 다 잘 돌면 플레이스토어에 배포 할게요~

📸 ScreenShot/Video

Summary by CodeRabbit

Our latest release includes a significant version update and build security enhancements to offer users a more stable and reliable app experience.

  • New Features

    • The app version has been updated to 1.1.0, delivering improved performance and new refinements.
  • Chores

    • Revised the release build process with enhanced security measures, including a dedicated signing configuration for secure app distribution.
    • Introduced a new workflow step for decoding the keystore file, improving the build process.

@MoonsuKang MoonsuKang added ♻️ REFACTOR 코드 리팩토링(전면 수정) 🌊 문수 문수 labels Apr 4, 2025
@MoonsuKang MoonsuKang requested a review from SYAAINN April 4, 2025 13:18
@MoonsuKang MoonsuKang self-assigned this Apr 4, 2025
@coderabbitai
Copy link

coderabbitai bot commented Apr 4, 2025

Walkthrough

The pull request updates the build configuration for the application. In the app/build.gradle.kts file, the defaultConfig now has an incremented versionCode (18 → 23) and an updated versionName ("1.0.7" → "1.1.0"). Additionally, a new signingConfigs block is introduced to define a "release" signing configuration, and the release build type is updated to use this new configuration instead of the debug configuration. Changes to the GitHub Actions workflow also include decoding a keystore file and updating environment variables for local properties.

Changes

File Change Summary
app/build.gradle.kts - Updated versionCode from 18 to 23
- Updated versionName from "1.0.7" to "1.1.0"
- Added new release signingConfigs block
- Changed release build type to use the release signing configuration instead of debug
.github/workflows/android_ci.yml - Added new job "Decode keystore file" with STORE_FILE_BASE environment variable
- Updated "Generate local.properties" step to include STORE_PASSWORD, KEY_ALIAS, and KEY_PASSWORD

Assessment against linked issues

Objective Addressed Explanation
Update signing configuration and version fields (#249)

Suggested labels

✨ FEAT

Suggested reviewers

  • SYAAINN

Poem

I'm a bunny hopping through the code,
In a world of versions that now explode.
With a new release signing trail so neat,
The build marches on, swift and fleet.
Hoppy days ahead, enjoy the beat!


🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai plan to trigger planning for file edits and PR creation.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (1)
app/build.gradle.kts (1)

43-50: Release Signing Configuration Addition
The new signingConfigs block correctly sets up the release signing configuration by loading properties from local.properties. Consider adding validation or default handling for these properties to avoid potential build issues if any signing detail is missing. This could help prevent misconfigurations during the CI/CD process.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 74384f1 and 8be04cf.

📒 Files selected for processing (1)
  • app/build.gradle.kts (3 hunks)
🔇 Additional comments (2)
app/build.gradle.kts (2)

28-29: Version Update Consistency Check
The versionCode has been updated to 23 and versionName to "1.1.0", which aligns with your new release versioning. Please ensure that these values match your intended release and that any related dependencies or documentation are updated accordingly.


66-66: Release Build Signing Assignment
Switching the signingConfig in the release build type from the debug configuration to the newly created "release" configuration is appropriate for generating signed AAB files. Ensure that the CI/CD workflow securely manages these keys and that the properties used are correctly populated in your environment.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 8be04cf and 5dd5eae.

📒 Files selected for processing (1)
  • .github/workflows/android_ci.yml (2 hunks)
⏰ Context from checks skipped due to timeout of 90000ms (1)
  • GitHub Check: build
🔇 Additional comments (1)
.github/workflows/android_ci.yml (1)

82-94: Correct Integration of Signing Credentials into local.properties
The updated Generate local.properties step correctly appends the signing configuration properties (storeFile, storePassword, keyAlias, and keyPassword) to the local.properties file. This integration supports the new release signing process. Ensure that the corresponding secrets are properly set in the GitHub repository and that these properties are used by your Android build script as expected.

Comment on lines +66 to +73
# keystore 복호화
- name: Decode keystore file
env:
STORE_FILE_BASE: ${{ secrets.STORE_FILE }}
run: |
mkdir -p keystore
echo "$STORE_FILE" | base64 --decode > keystore/clody_release.jks

Copy link

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

⚠️ Potential issue

Variable Mismatch in Keystore Decoding Step
The keystore decoding step defines an environment variable STORE_FILE_BASE (line 69) but uses $STORE_FILE (line 72) when decoding the keystore file. This mismatch may result in an empty or incorrect keystore file during the build process. Please update the variable reference to ensure consistency.

-                  echo "$STORE_FILE" | base64 --decode > keystore/clody_release.jks
+                  echo "$STORE_FILE_BASE" | base64 --decode > keystore/clody_release.jks
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
# keystore 복호화
- name: Decode keystore file
env:
STORE_FILE_BASE: ${{ secrets.STORE_FILE }}
run: |
mkdir -p keystore
echo "$STORE_FILE" | base64 --decode > keystore/clody_release.jks
# keystore 복호화
- name: Decode keystore file
env:
STORE_FILE_BASE: ${{ secrets.STORE_FILE }}
run: |
mkdir -p keystore
echo "$STORE_FILE_BASE" | base64 --decode > keystore/clody_release.jks

@MoonsuKang MoonsuKang merged commit ddec331 into develop Apr 5, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

♻️ REFACTOR 코드 리팩토링(전면 수정) 🌊 문수 문수

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[REFACTOR] signing 설정 수정 및 버전 수정

2 participants