-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
feat(infra-2854): add cross-platform build caching #19656
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
+365
−5
Closed
Changes from all commits
Commits
Show all changes
122 commits
Select commit
Hold shift + click to select a range
349dedc
chore: draft
makemesteaks cc39d5e
chore: rebase
makemesteaks 617d40b
chore: expo fingerprint update
makemesteaks 2428cec
chore: yarn lock
makemesteaks 35b04e3
chore: expo
makemesteaks 2a9ee52
chore: yarn lock
makemesteaks 0b4c72b
chore: update
makemesteaks f3e08a3
chore: generate fingerprint test
makemesteaks 7bc95c2
chore: dont run ios
makemesteaks 4f4fc01
chore: no retries
makemesteaks 2c424ec
chore: update
makemesteaks 86e6963
chore: updatefunc
makemesteaks 5230cca
chore: check if fingerprint works
makemesteaks e7dc9d1
chore: fingerprint before setup env
makemesteaks d97adcd
Revert "chore: fingerprint before setup env"
makemesteaks 0ec7465
chore: fingerprint ignore
makemesteaks 5fea43d
Merge branch 'main' into infra-2854-cache-builds
Qbandev 4fe489b
fix(ci): resolve fingerprint generation bug and improve build caching
Qbandev 2da5555
chore: implement copilot comments
Qbandev 63a95c6
chore: fix linting
Qbandev 9942c09
Merge branch 'main' into infra-2854-cache-builds
Qbandev 4a04df8
Update docs/build-caching.md
Qbandev bdbdbf5
fix: remove alert related to repack package
Qbandev 49b9b2c
Merge branch 'main' into infra-2854-cache-builds
Qbandev e20059b
Merge branch 'main' into infra-2854-cache-builds
Qbandev e4dd706
chore: enable commented workflow
Qbandev 1ae30b3
feat(infra): add iOS support and unify build caching architecture
Qbandev 3bd53e8
chore: add files
Qbandev 5598e08
chore: reduce PR size
Qbandev 77e7cd1
chore: prettier
Qbandev eb7de72
chore: fix syntax
Qbandev 4be532a
Merge branch 'main' into infra-2854-cache-builds
Qbandev 368de41
chore: fix syntax errors
Qbandev da828fa
chore: push latest changes
Qbandev 5505cac
fix: resolve ESLint errors and GitHub Actions syntax issues
Qbandev 78d30e1
fix: correct bash script structure in fingerprint-build-check action
Qbandev 9ee806b
refactor: extract fingerprint logic into separate scripts
Qbandev cf83732
refactor: extract fingerprint logic into separate scripts
Qbandev 2f918b3
Merge branch 'main' into infra-2854-cache-builds
Qbandev 2066c3a
chore: remove documentation
Qbandev 4c39e59
fix: fingerprint-build-check
Qbandev c1347e8
chore: update readme and trigger build
Qbandev 14445e4
fix: reduce PR size and simplify
Qbandev 7e8b822
fix: lint error
Qbandev 40ae9b6
chore: remove file not needed
Qbandev 761a7e6
fix: improve fingerprint cache
Qbandev 24a9db6
fix: handle dynamic bundle paths from expo export
Qbandev 7b4f649
fix: use unified repack command for Android workflow
Qbandev 36cdde0
feat: enhance repack-app.js with robust error handling
Qbandev 64a2285
fix: lint error package
Qbandev be10cbc
feat: simplify build caching to use only check-fingerprint.js
Qbandev f37106d
fix: simplify all the workflows
Qbandev 78c74cd
fix: lint error package
Qbandev 39f20df
fix: lint error check-fingerprint
Qbandev 2b4a597
fix: cache file name
Qbandev 295d51e
feat: improve fingerprint caching
Qbandev aedcd15
fix: fingerprint cache
Qbandev fa2314f
fix: simplify the cache and fingerprint
Qbandev 7c73cd4
fix: repack platform
Qbandev 1a6e8da
fix: repack app
Qbandev 41ebc2a
fix: repack app code
Qbandev ff0a641
fix: simplify cache logic
Qbandev 9a0f43d
fix: simplify cache logic in workflows
Qbandev 7c33db8
chore: test repack json
Qbandev c8aa4b9
fix: repack app json
Qbandev 3ed8587
fix: repack app temp
Qbandev f4175ec
fix: use metro bundle
Qbandev 92f6297
fix: add source map
Qbandev 37261c0
fix: remove repack
Qbandev 8437f80
Merge branch 'main' into infra-2854-cache-builds
Qbandev 4380d3f
fix: bundle pipeline
Qbandev c3d690c
fix: package prettier
Qbandev 02422c7
fix: package debug
Qbandev 0cb1059
fix: improve caching
Qbandev ff4dd8e
Merge branch 'main' into infra-2854-cache-builds
Qbandev 9cc0358
fix: improve caching android
Qbandev 48386fe
chore: show fingerprint
Qbandev 1bd3597
Merge branch 'main' into infra-2854-cache-builds
Qbandev dbdb408
fix: improve source map and apk
Qbandev 4a95bc0
fix: improve android bundle
Qbandev c8e41f5
fix: improve android repack signature
Qbandev 9fae645
fix: apk signature
Qbandev 4558745
fix: apk structure
Qbandev 8b6e48b
fix: improve android bundle with gradle
Qbandev a4bcd04
Merge branch 'main' into infra-2854-cache-builds
Qbandev eee0b57
fix: start testing repack again
Qbandev 8735318
chore: prettier package.json
Qbandev 871951f
fix: remove steps not used
Qbandev 1c152a4
fix: improve repack config
Qbandev aea5f40
fix: repack bug
Qbandev f548df6
fix: remove bundle config
Qbandev 479576c
fix: repack logic
Qbandev efeece3
fix: improve repack logic with bogbot comments
Qbandev 89fd553
fix: improve repack script to use the api
Qbandev 8967cc9
fix: improve cross-device link not permitted in repack script
Qbandev 35a93c0
fix: improve repack script apk path
Qbandev f757c10
fix: improve repack signed
Qbandev cf6b853
fix: reapck both main and test
Qbandev 4479c8c
fix: sign test apk
Qbandev f6be4af
fix: remove zipalign
Qbandev 10b029e
fix: use qa keystore
Qbandev 738430a
fix: improve repack script for both ios and android
Qbandev 2eaa147
chore: prettier package.json
Qbandev db2744a
feat: direct bundle replacement ios
Qbandev 722a26d
chore: rename ios repack steps
Qbandev a8cf261
fix: ios repack env vars
Qbandev 61b9746
fix: ios build and repack env vars
Qbandev 323dfb5
fix: ios build and repack env vars
Qbandev 905b4af
fix: ios build repack
Qbandev dda5994
fix: Remap ios repack environment variables
Qbandev 7122122
fix: ios repack bundle script
Qbandev c32a196
fix: ios repack bundle script path
Qbandev 5f96f89
fix: ios repack bundle script
Qbandev bf51cb1
chore: try cocoa pod cache
Qbandev 0414f7c
Merge branch 'main' into infra-2854-cache-builds
Qbandev e281899
chore: minor comments
Qbandev 6ff91ce
chore: minor copilot fixes
Qbandev 017e257
fix: prettier format
Qbandev be98d37
chore: update repack
Qbandev 1e8fad0
fix: comment log in repack
Qbandev b9bef4c
fix: improve fingerprint cache restore
Qbandev 103667d
Merge branch 'main' into infra-2854-cache-builds
Qbandev File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
# Ignore scripts directory - changes here don't affect native builds | ||
scripts/**/* | ||
|
||
# Ignore CI/CD and workflow files | ||
.github/**/* | ||
|
||
# Ignore documentation and markdown files | ||
*.md | ||
docs/**/* | ||
LICENSE | ||
attribution.txt | ||
|
||
# Ignore workflow files | ||
**/*.yml | ||
|
||
# Ignore SonarQube config | ||
sonar-project.properties | ||
|
||
# Ignore test files that don't affect native builds | ||
**/*.test.js | ||
**/*.test.ts | ||
**/*.test.tsx | ||
**/*.spec.js | ||
**/*.spec.ts | ||
**/*.spec.tsx | ||
|
||
# Ignore e2e test files | ||
e2e/**/* | ||
wdio/**/* | ||
|
||
# Ignore linting and formatting configs | ||
.eslintrc* | ||
.prettierrc* | ||
.eslintignore | ||
.prettierignore | ||
|
||
# Ignore yarn/npm lock files for stability | ||
yarn.lock | ||
package-lock.json |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
const { createFingerprintAsync } = require('@expo/fingerprint'); | ||
|
||
async function generateFingerprint() { | ||
try { | ||
const { hash } = await createFingerprintAsync(process.cwd(), { mode: 'prebuild' }); | ||
// Only output the hash to stdout, no console.log or extra output | ||
Qbandev marked this conversation as resolved.
Show resolved
Hide resolved
|
||
process.stdout.write(hash); | ||
} catch (error) { | ||
// Write error to stderr instead of stdout to avoid corrupting the hash output | ||
process.stderr.write(`Error generating fingerprint: ${error.message}\n`); | ||
process.exit(1); | ||
} | ||
} | ||
|
||
generateFingerprint(); |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.