Pretty angry that Github have made this change with no mechanism for adding machine users without paying a per month charge. It seems like a key feature, which is currently horribly painful to manage and now expensive.
How does everyone else create credentials that CI can use to checkout code?
That's fine if you have a single repo, but CI normally needs to access lots of different repos. GitHub's documentation describes why you need machine users for anything but the most trivial deployment.
If I understand that page correctly, the only real difference is that Github arbitrarily prevents you from using the same deploy key for multiple repositories. If they lifted that restriction, this problem would go away.
I wouldn't want a CI to store a key that has R/W access to all my repos in all my organizations. I'm in at least 5 active organizations that I would be putting at risk
How does everyone else create credentials that CI can use to checkout code?