Problem/Motivation
Drupal 8 depends on many 3rd party libraries.
Composer uses GitHubs API to retrieve Repo data and Tarballs (in Composer prefere-dist mode). GitHub API Rate Limits for unauthenticated requests are very low. We will hit the limit in Drupal CI easily.
https://developer.github.com/v3/#rate-limiting
Proposed resolution
Generate OAuth token via GitHub and store it in ~/.composer/auth.json on Testbots.
Comments
Comment #2
MixologicMoving to the testrunner queue.
Comment #3
webflo commentedThis is the actual error message from Drupal CI.
Comment #4
jthorson commentedPerhaps this could be an optional step in drupalci init, which could help step people through the process.
Comment #5
wim leers(Commenting as a total noob WRT Composer, as just a mostly passive observer.)
But Drupal's canonical repo is not on GitHub. So… isn't the actual solution to not use GitHub? To make Composer hit d.o's infra?
Comment #6
webflo commentedThe issue is about third party dependencies like symfony, phpunit etc. these libraries are hosted on GitHub.
Comment #7
wim leersAhhh! Thanks for the clarification :) Clarified the IS too.
Comment #8
joshtaylor commentedIf you remove the vendor subfolders, you could then run something like:
Comment #9
mradcliffeI did that on github until composer manager changed, and it worked, but it was also much slower.
Comment #10
MixologicComment #11
mradcliffeGoing to correct myself a bit. I think the slowness was to due to some complex dependency chains. With some refactoring, I'm not seeing that slowness anymore.
Comment #12
isntall commentedThis has been accomplished, after many debates, by adding the token to the job before
set -uexThis is not a great solution but it allows for the token to be set on a per job basis and allows the token to be rotated.
In the future we'd like to have the token set once the testrunner has been turned on.
Comment #13
isntall commentedComment #14
isntall commentedThis has been merged into dev, production and is now live.