-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Add SemaphoreCI OIDC trusted provider support #19048
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
warehouse/migrations/versions/7a97c540ed60_add_semaphoreci_oidc_models.py
Outdated
Show resolved
Hide resolved
| from sqlalchemy.orm import Session | ||
|
|
||
|
|
||
| SEMAPHORE_OIDC_ISSUER_URL_SUFFIX = ".semaphoreci.com" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is interesting! Generally our model has been either to support a specific issuer URL or to support custom issuer URLs on a per-organization basis.
Does this mean that there is a different issuer for every SemaphoreCI project? Or generally, what are the expected values here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this mean that there is a different issuer for every SemaphoreCI project? Or generally, what are the expected values here?
Yes, the expected values are of the format https://<org-name>.semaphoreci.com where org-name is the name of the Semaphore organization (not the GitHub organization). Ref https://docs.semaphore.io/reference/openid#reference.
I think the best way to test this would be to put it behind a feature flag and enable it only for test.pypi.org first. |
warehouse/migrations/versions/7a97c540ed60_add_semaphoreci_oidc_models.py
Outdated
Show resolved
Hide resolved
|
@cchristous FYI you have linting errors here |
I thought had everything passing, but clearly not. Sorry about that. I ran |
This attempts to implement #18882.
The automated tests are all passing, but I don't have confidence this actually works because I don't know how to test the actual integration. I have access to and familiarity with Semaphore, and I could test using the 2 SaaS services, if the warehouse were deployed. Though, I am hoping there is an easier way to test this, so I could use some guidance on how to proceed.