PR #3287: PR opened, merge target changed, bot closes PR 32 minutes later, does not delete branch (also note the translation file in the description is not actually the one in the PR)
PR #3288: PR opened and immediately closed, before the Github action even has a chance to change the merge target, does not delete branch
[Counterexample] PR #3089: This is an older PR from a month earlier, everything worked properly, same language as the other PRs
Hypothesis:
The bot treats pull requests as stateless, so rather than tracking PR#12345 as the “true” PR, it only looks for a PR merging the translation files to the source branch transifex-synchronization-source. Thus it sees the PRs with a merge target of master as incorrect, and closes them.
This would explain it closing the pull requests, and why it is not grouping multiple files in the PR as per the project settings. However, in example #3 it closed the PR even though the merge target wasn’t changed, and in example #4 the exact same workflow was previously successful.
Update:
The bot is closing the pull requests when another resource has been fully reviewed, creating a new pull request instead of updating the existing one.
Resource A fully reviewed
Bot opens pull request A with resource A
Github action changes merge target
Resource B fully reviewed
Bot closes pull request A
Bot deletes branch from pull request A
Bot creates pull request B with resource B
Example: PR #3356: Pull request for Russian resource units.json PR #3357: Pull request for Russian resource interface.json
Instead of appending interface.json to #3356, it creates #3357 as a separate PR, and for some reason closes #3356.
Yes, we followed the steps in your second example. We have reproduced the behavior you experienced.
Let me escalate this within our team, and I will update you.
Apologies this took a while, it has been a hectic couple of weeks.
I will update as soon as we have details.
Apologies this is taking long. We need some additional information from you please.
Could you please check your github files and see if there are any differences between your main branch and the transifex-synchronization branch, right after the first PR is created and it is rebased from the synch branch to the main.
If you could send us some screenshots from the diffs of the two branches and see this is why the system closes the PR.
There are almost always changes between the two branches.
Step 2 of the workflow force rebases transifex-synchronization-source from master once a week. There is a huge amount of activity on master, so one week’s worth of changes will be quite a lot.
However, I was able to test in the small window between the weekly force rebase when both branches were in sync.
Manual Sync initiated from Transifex, resulting in Russian tips.json file being pushed (other files had no changes detected):
Pull request merged to master for a non-translation file: PR #3620
Result: Transifex pull request is not closed, so changes to non-translation files are not the cause.
After this, translation and reviewing was finished in Transifex for another Russian file, units.json.
Result: The bot then closed an deleted the first pull request (PR #3619), and created a new pull request: PR #3621
This is the same result as reported in the message from July 9, and in this case the two branches are completely in sync, other than the changes to the single file in the dummy commit.
Edit:
Subsequently, another Russian file was translated and reviewed, interface.json.
Hello! I just wanted to inform you that I have added the information from your last reply to the report created by Christos. Our development team is reviewing this situation.
Thank you for your patience as we investigated this issue. We have reviewed the details and consulted with our team to ensure we address your concerns thoroughly.
It appears that the behavior you’re encountering is a known aspect of the system. Specifically, changing the main branch before merging the updates in a pull request (PR) (switch the main branch in the middle of the process) can disrupt the connection between the PR and Transifex. Transifex is not aware of the updated branch you provide causing the PR to close automatically.We highly recommend the following approach instead:
Begin by merging your changes into the base branch (the one configured in Transifex) as soon as the original PR is opened. This ensures that your PR remains linked and active.
After the merge, proceed by merging your changes from the branch configured in Transifex into the desired main branch.
By following these steps, you can maintain a smoother integration process and avoid interruptions in your PR workflow. If you have any further questions or need additional assistance, please don’t hesitate to reach out.