Opened at 2020-11-30T20:42:56Z
Last modified at 2023-02-13T14:32:08Z
#3541 new defect
CircleCI cannot find context "dockerhub-auth"
Reported by: | sajith | Owned by: | |
---|---|---|---|
Priority: | normal | Milestone: | undecided |
Component: | dev-infrastructure | Version: | n/a |
Keywords: | Cc: | ||
Launchpad Bug: |
Description
In #3483, we added a "dockerhub-auth" context which holds DockerHub credentials to tahoe-lafs' CircleCI settings, in order to solve the problem imposed by DockerHub's impending rate limits. It turns out that having an organization-specific context will prevent CircleCI from running CI tasks for pull requests made by contributors who have chosen to fork tahoe-lafs repository at GitHub.
Here is an example CI run: https://app.circleci.com/pipelines/github/jaraco/tahoe-lafs/23/workflows/e2869d9c-43c7-4475-9aac-690826136eb7. All of those failed tasks have failed with the same "could not find context" error message.
This happens because the tahoe-lafs organization's CircleCI account has a "dockerhub-auth" context, but any other account that forked the repository won't have such a context, unless they add one at CircleCI. This is the source of those errors, and it could be pretty confusing.
A solution would be for the account that forked the repository to create a "dockerhub-auth" context (an empty context will do) under CircleCI's "organization settings".
An even better solution would be to adapt our CircleCI configuration such that it will continue to work even when a "dockerhub-auth" context is not present. In such cases, CI should continue to function, even if DockerHub rate-limits image pulls. This way new contributors won't need to have commit access to the "canonical" tahoe-lafs repository.
Since pulling Docker images is a core part of CircleCI's infrastructure and not something we have much direct control over (except the knobs that they specifically expose to us) I don't know how feasible this is.