feat: add force
option to tryFetch
#1189
Merged
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.
The problem
Dockerized self-hosted runner (https://github.com/myoung34/docker-github-actions-runner) does not reset its local storage when a task is finished.
Thus, a newly created PR via worker#5 cannot be fetched via worker#7 because its not a fast-forward change.
This makes the later
hasDiff
logic that stops pushing if the actual content has no difference (the commit hashes are different because the commit has differentcreatedAt
timestamp.[PR Log]
[Action Log]
[Actual diff between two consequent pushes]
Solution
Adding force option to git.fetch will overwrite previously cached branch information.
Justification
I found that all four
git.fetch
command increate-or-update-branch.ts
already has theforce
option except the one changed in this PR.Alternatives
I may add manual
rm -rf /working/.git
command before all self-hosted actions, but the above justification makes this solution more desirable.