If you have more than 10 GitHub OAuth Tokens, the oldest will be revoked.
We ran into this in a long running customer ticket: https://gitlab.zendesk.com/agent/tickets/111075
It took a while to deduce, but we figured out that Github has a limit to the amount of tokens it will give you. Currently it's 10.
To repro:
- Create 11 repos on Github.
- Set up the github integration and import one repo at a time as outlined here: https://docs.gitlab.com/ee/ci/ci_cd_for_external_repos/github_integration.html#connect-with-github-integration
- On the 11th repo import, the first imported repo will now start failing due to the token being revoked.
you can go to the mirroring tab and grab the URL and try it in your terminal to confirm outside of GitLab.
I'm not sure there is much we can do, but this can have far reaching effects for users of this integration. The customer suggested maybe a mechanism to track and reuse tokens, but I'm concerned about the security implications there.