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: