Skip to content

ADFA-1982 32-bit production release build - #600

Merged
davidschachterADFA merged 3 commits into
stagefrom
task/ADFA-1982
Nov 8, 2025
Merged

davidschachterADFA merged 3 commits into
stagefrom
task/ADFA-1982

Conversation

@jomen-adfa

Copy link
Copy Markdown
Contributor

Add 32-bit build to release workflow

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Greptile Overview

Greptile Summary

This PR adds 32-bit (armeabi-v7a) build support to the release workflow by introducing a GitHub Actions matrix strategy.

Key Changes:

  • Added matrix strategy with two variants: v8 (64-bit) and v7 (32-bit)
  • Updated Gradle assemble command to dynamically build the correct variant using assemble${variant_upper}Release
  • Modified APK path finding to use ${{ matrix.variant }} instead of hardcoded v8
  • Changed build type from hardcoded "RELEASE" to ${{ matrix.build_type }} to distinguish between "RELEASE 64-bit" and "RELEASE 32-bit" in notifications

Impact:

  • The workflow will now run twice per execution (once for each variant), doubling the build time and resource usage
  • Both 32-bit and 64-bit APKs will be uploaded to Firebase App Distribution with separate Slack notifications
  • Testers will receive two separate builds per release

Confidence Score: 4/5

  • This PR is safe to merge with low risk - it mirrors existing 64-bit build logic
  • The changes are straightforward and follow GitHub Actions best practices. The v7 (32-bit) variant is already defined in the build configuration (AndroidModuleConf.kt:237-242) and used in build tasks (build.gradle.kts:428-441), so the workflow change simply enables building it. Minor risk: increased CI runtime (~2x) and potential for concurrent build failures if resources are limited.
  • No files require special attention - the implementation is clean and consistent

Important Files Changed

File Analysis

Filename Score Overview
.github/workflows/release.yml 4/5 Added matrix strategy to build both 32-bit (v7) and 64-bit (v8) release APKs. Modified build task, APK path finding, and build type references to use matrix variables.

Sequence Diagram

sequenceDiagram
    participant GHA as GitHub Actions
    participant Matrix as Matrix Strategy
    participant V8 as v8 Build (64-bit)
    participant V7 as v7 Build (32-bit)
    participant Gradle as Gradle
    participant Firebase as Firebase App Distribution
    participant Slack as Slack

    GHA->>Matrix: Trigger release workflow
    Matrix->>V8: Start job with variant=v8
    Matrix->>V7: Start job with variant=v7
    
    par 64-bit Build
        V8->>V8: Checkout & setup
        V8->>V8: Merge stage to main
        V8->>Gradle: assembleV8Release
        Gradle-->>V8: v8 APK
        V8->>Firebase: Upload v8 APK (RELEASE 64-bit)
        Firebase-->>V8: Upload success
        V8->>Slack: Notify (RELEASE 64-bit)
    and 32-bit Build
        V7->>V7: Checkout & setup
        V7->>V7: Merge stage to main
        V7->>Gradle: assembleV7Release
        Gradle-->>V7: v7 APK
        V7->>Firebase: Upload v7 APK (RELEASE 32-bit)
        Firebase-->>V7: Upload success
        V7->>Slack: Notify (RELEASE 32-bit)
    end
Loading

1 file reviewed, no comments

Edit Code Review Agent Settings | Greptile

@davidschachterADFA
davidschachterADFA merged commit e389041 into stage Nov 8, 2025
4 checks passed
@davidschachterADFA
davidschachterADFA deleted the task/ADFA-1982 branch November 8, 2025 14:31
jatezzz pushed a commit that referenced this pull request Jun 22, 2026
* add 32-bit release build

* address upper error

* make build_type a matrix attribute
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