feat: conditionally skip rebuilding on non app changes#16990
Conversation
…tifacts are reusable
|
CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes. |
|
|
fixed |
|
|
|
|
|
… build commit markers
|
|
|
|
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #16990 +/- ##
==========================================
- Coverage 73.13% 73.13% -0.01%
==========================================
Files 2749 2749
Lines 59917 59917
Branches 9473 9473
==========================================
- Hits 43819 43818 -1
- Misses 13349 13350 +1
Partials 2749 2749 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
|
|
cortisiko
left a comment
There was a problem hiding this comment.
small feedback! other wise 🌮 🌮 🌮
|
|
There was a problem hiding this comment.
Bug: Conditional Artifact Retrieval
The pull-intermediate-files steps in the android_e2e_test, ios_api_specs, and ios_e2e_test workflows run unconditionally. When the corresponding Android or iOS build is skipped (e.g., SKIP_ANDROID_BUILD or SKIP_IOS_BUILD is true), no intermediate files are saved by the build stage. This causes the pull-intermediate-files step to fail as it attempts to retrieve non-existent artifacts. These steps should be made conditional to run only when the build was not skipped.
bitrise.yml#L1037-L1041
Lines 1037 to 1041 in b9981bc
bitrise.yml#L1164-L1168
Lines 1164 to 1168 in b9981bc
bitrise.yml#L1466-L1470
Lines 1466 to 1470 in b9981bc
Bug: Build Cache Overwrite and Logging Issues
Both iOS and Android build workflows save their "last successful build commit marker" to the same cache key last-e2e-build-commit-pr-{{ getenv "GITHUB_PR_NUMBER" }}. This creates a race condition where the last build to complete overwrites the marker, leading to inconsistent cache state and potentially incorrect build skipping decisions, especially if one platform's build fails.
Separately, the iOS cache restoration script misleadingly logs "iOS build artifacts restored from cache" even when the cache directories are not found and only empty directories are created.
bitrise.yml#L1408-L1834
Lines 1408 to 1834 in b9981bc
Was this report helpful? Give feedback by reacting with 👍 or 👎
|
|



Description
This PR implements conditional building for e2e test build when changes don't affect the app code.
Files/Patterns That Skip Rebuild
/e2eTesting
Related issues
Fixes:
Manual testing steps
Screenshots/Recordings
Before
After
Pre-merge author checklist
Pre-merge reviewer checklist