You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .github/workflows/createNewVersion.yml
+24-2Lines changed: 24 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -129,7 +129,18 @@ jobs:
129
129
./iOS/SmartScanExtension/Info.plist \
130
130
./iOS/NotificationServiceExtension/Info.plist
131
131
git commit -m "Update version to ${{ steps.bumpVersion.outputs.NEW_VERSION }}"
132
-
git push origin main
132
+
if ! git push origin main; then
133
+
echo "Race condition! Mobile-Expensify main was updated while this workflow was running, so push failed. Fetching remote, rebasing, and retrying push once."
134
+
git fetch origin main --depth=1
135
+
if ! git rebase origin/main; then
136
+
echo "::error:: Rebase failed while retrying Mobile-Expensify push"
137
+
exit 1
138
+
fi
139
+
if ! git push origin main; then
140
+
echo "::error:: Mobile-Expensify change failed to push after rebase"
141
+
exit 1
142
+
fi
143
+
fi
133
144
134
145
- name: Commit new E/App version
135
146
run: |
@@ -146,7 +157,18 @@ jobs:
146
157
run: |
147
158
git add Mobile-Expensify
148
159
git commit -m "Update Mobile-Expensify submodule version to ${{ steps.bumpVersion.outputs.NEW_VERSION }}"
149
-
git push origin main
160
+
if ! git push origin main; then
161
+
echo "Race condition! E/App main was updated while this workflow was running, so push failed. Fetching remote, rebasing, and retrying push once."
162
+
git fetch origin main --depth=1
163
+
if ! git rebase origin/main; then
164
+
echo "::error:: Rebase failed while retrying Mobile-Expensify push"
165
+
exit 1
166
+
fi
167
+
if ! git push origin main; then
168
+
echo "::error:: Mobile-Expensify change failed to push after rebase"
Copy file name to clipboardExpand all lines: README.md
+7-6Lines changed: 7 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -458,20 +458,21 @@ You can only build HybridApp if you have been granted access to [`Mobile-Expensi
458
458
## Getting started with HybridApp
459
459
460
460
1. If you haven't, pleasefollow [theseinstructions](https://github.com/Expensify/App?tab=readme-ov-file#getting-started) to setup the NewDot local environment.
461
-
2. Run `git submodule update --init --progress --depth 100` to download the `Mobile-Expensify` sourcecode.
462
-
- If you have access to `Mobile-Expensify` and the command fails, add this to your `~/.gitconfig` file:
461
+
2. In the root directory, run `git submodule init`
462
+
3. Run `git submodule update`
463
+
- If this takes too long, try`git submodule update --init --progress --depth 100` (Note:this makes it difficult to checkout remote branches in the submodule)
464
+
- If you have access to `Mobile-Expensify` and the command fails, add this to your `~/.gitconfig` file:
463
465
464
466
```
465
467
[url "https://github.com/"]
466
468
insteadOf = ssh://git@github.com/
467
469
```
468
-
- To prevent `Mobile-Expensify` submodule commit hash changes from appearing in`git status`, configure Git to ignore them by adding this to your local `.git/config`:
470
+
- To prevent `Mobile-Expensify` submodule commit hash changes from appearing in`git status`, configure Git to ignore them by adding this to your local `.git/config` (This ensures that submodule changes are ignored unless you deliberately update them):
469
471
```
470
472
[submodule "Mobile-Expensify"]
471
473
ignore = all
472
474
```
473
-
This ensures that submodule changes are ignored unless you deliberately update them.
474
-
3. Run `git config --global submodule.recurse true`in order to have the submodule updated when you pull App
475
+
4. Run `git config --global submodule.recurse true`in order to have the submodule updated when you pull App
475
476
476
477
477
478
> [!Note]
@@ -939,4 +940,4 @@ Onyx derived values are special Onyx keys which contain values derived from othe
939
940
940
941
3. **Document derived values**
941
942
- Explain the purpose and dependencies
942
-
- Document any special cases or performance considerations
943
+
- Document any special cases or performance considerations
0 commit comments