Two way mirror to GitHub


I have a mirror setup to a GitHub repo. It is currently set to push. This only pushes my changes to GitHub. I have checked and that is that is the only option I have on my Mirror Direction drop down. The problem is that the customer modifies the GitHub repo directly. How can I do a pull and push to GitHub? I would like for the following to happen:

  1. When I make a change to the code, do a pull first merge the changes then do a push to GitHub.
  2. Every X minutes do a pull and merge the code automatically so that I always have the updated code.
  3. When I do a git pull from my laptop, have GitLab go and pull the latest code automatically from GitHub.