Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

GitHub Action for remote build cache for Android with Rock

License

NotificationsYou must be signed in to change notification settings

callstackincubator/android

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This GitHub Action enables remote building of Android applications using Rock. It supports both debug and release builds, with automatic artifact caching and code signing capabilities.

Features

  • Build Android apps in debug or release mode
  • Automatic artifact caching to speed up builds
  • Code signing support for release builds
  • Re-signing capability for PR builds
  • Native fingerprint-based caching
  • Configurable build parameters
  • Gradle wrapper validation

Usage

name:Android Buildon:push:branches:[main]pull_request:branches:['**']jobs:build:runs-on:ubuntu-lateststeps:      -uses:actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683# v4.2.2      -name:Build Androiduses:callstackincubator/android@v3# replace with latest commit hashwith:variant:'debug'# or elsegithub-token:${{ secrets.GITHUB_TOKEN }}# For release builds, add these:# sign: true# Option 1: Use keystore file directly# keystore-file: 'path/to/your-keystore.jks'# Option 2: Use base64 encoded keystore (alternative to keystore-file)# keystore-base64: ${{ secrets.KEYSTORE_BASE64 }}# keystore-store-file: 'your-keystore.jks'# keystore-store-password: ${{ secrets.KEYSTORE_STORE_PASSWORD }}# keystore-key-alias: 'your-key-alias'# keystore-key-password: ${{ secrets.KEYSTORE_KEY_PASSWORD }}# keystore-path: 'tools/buildtools/upload-key.keystore' # Optional: for custom keystore locations

Inputs

InputDescriptionRequiredDefault
github-tokenGitHub TokenYes-
working-directoryWorking directory for the build commandNo.
validate-gradle-wrapperWhether to validate the Gradle wrapperNotrue
setup-javaWhether to run actions/setup-java actionNotrue
variantBuild variant (debug/release)Nodebug
signWhether to sign the build with keystoreNo-
re-signRe-sign the APK with new JS bundleNofalse
keystore-filePath to the keystore fileNo-
keystore-base64Base64 encoded keystore fileNo-
keystore-store-fileKeystore store file nameNo-
keystore-store-passwordKeystore store passwordNo-
keystore-key-aliasKeystore key aliasNo-
keystore-key-passwordKeystore key passwordNo-
keystore-pathwhere the keystore should be placedNorelease.keystore
rock-build-extra-paramsExtra parameters for rock build:androidNo-
comment-botWhether to comment PR with build linkNotrue

Outputs

OutputDescription
artifact-urlURL of the build artifact
artifact-idID of the build artifact

Code Signing

Whensign: true is enabled, this action configures Android code signing by setting Gradle properties. It supportstwo property conventions for maximum compatibility:

Android injected properties

(this is an undocumented feature used by Fastlane and AGP)

The action automatically setsandroid.injected.signing.* properties which are natively recognized by the Android Gradle Plugin. These properties work with any standardbuild.gradle configuration without modifications:

signingConfigs {    release {// These hardcoded values will be automatically overridden        storeFile file('path/to/keystore.jks')        keyAlias'placeholder'        storePassword'placeholder'        keyPassword'placeholder'    }}

Custom ROCK Properties

For apps that explicitly read custom properties in theirbuild.gradle, the action also setsROCK_UPLOAD_* properties:

signingConfigs {    release {        storeFile file('path/to/keystore.jks')        keyAlias project.findProperty('ROCK_UPLOAD_KEY_ALIAS')?:'placeholder'        storePassword project.findProperty('ROCK_UPLOAD_STORE_PASSWORD')?:'placeholder'        keyPassword project.findProperty('ROCK_UPLOAD_KEY_PASSWORD')?:'placeholder'    }}

The following mappings are set:

  • ROCK_UPLOAD_KEY_ALIASinputs.keystore-key-alias
  • ROCK_UPLOAD_STORE_FILEinputs.keystore-store-file
  • ROCK_UPLOAD_STORE_PASSWORDinputs.keystore-store-password
  • ROCK_UPLOAD_KEY_PASSWORDinputs.keystore-key-password

Both conventions are set simultaneously, so the action works with any existing build configuration.

Prerequisites

  • Ubuntu runner
  • Rock CLI installed in your project
  • For release builds:
    • Valid Android keystore file
    • Proper code signing setup

License

MIT

About

GitHub Action for remote build cache for Android with Rock

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors5


[8]ページ先頭

©2009-2025 Movatter.jp