Skip to main content

Lookup cached debug build

Workflow that calculates the fingerprint of the app and checks whether a debug build with the same fingerprint is cached and can be retrieved.

This workflow can be triggered by other workflows depending on it.

Usage

This workflow cannot be explicitly specified to be generated using SCI. It will be generated automatically if you choose to create workflow depending on it.

Detailed behavior

Below you can find detailed information about what the script does with your project when generating Lookup cached debug build workflow.

Input and output

Input:

  • platform: ('android' | 'ios') - The platform for which the build should be looked up

Output:

  • build-exists: boolean - whether the build was found in cache
  • fingerprint: string - the fingerprint calculated for specified platform

Fingerprint

This workflow uses @expo/fingerprint to generate a hash string of your native code (called fingerprint). It then checks whether key ${{ inputs.platform }}-debug-build-${{ fingerprint }} can be restored from cache.

Modified and created files

FileChanges
.github/workflows/lookup-cached-debug-build.ymlContains the CI workflow.
package.json
  • New script:fingerprint:android: npx expo-updates fingerprint:generate --platform android | jq -r '.hash' | xargs -n 1 echo 'fingerprint:'
  • New script:fingerprint:ios: npx expo-updates fingerprint:generate --platform ios | jq -r '.hash' | xargs -n 1 echo 'fingerprint:'

Workflow details

build-debug-android

The following diagram represents the flow of the lookup-cached-debug-build workflow: