Skip to content

ci: add an Anthropic workload identity federation smoke test - #699

Merged
ajianaz merged 5 commits into
developfrom
ci/anthropic-wif-smoke
Oct 27, 2026
Merged

ajianaz merged 5 commits into
developfrom
ci/anthropic-wif-smoke

Conversation

@ajianaz

@ajianaz ajianaz commented Oct 27, 2026

Copy link
Copy Markdown
Collaborator

What

A workflow that runs when it changes and checks, without printing any token:

  1. GitHub OIDC token for audience https://api.anthropic.com;
  2. exchange for a short-lived Anthropic access token (/v1/oauth/token, federation);
  3. one tiny call to /v1/chat/completions with Authorization: Bearer <token>, exactly how cora sends its key.

The four identifiers come from repository variables (ANTHROPIC_FEDERATION_RULE_ID, ANTHROPIC_ORGANIZATION_ID, ANTHROPIC_SERVICE_ACCOUNT_ID, ANTHROPIC_WORKSPACE_ID) because this repository is public.

Why

Before moving the Cora Review job from a stored API key to workload identity federation, we need to know the exchanged token is accepted on the endpoint cora uses.

Testing

  • The job runs on this PR (it needs the repository variables to be set first, otherwise it fails with a message naming the missing one).

Signed-off-by: ajianaz <ajianaz@users.noreply.github.com>
Signed-off-by: ajianaz <ajianaz@users.noreply.github.com>
Signed-off-by: ajianaz <ajianaz@users.noreply.github.com>
Signed-off-by: ajianaz <ajianaz@users.noreply.github.com>
Signed-off-by: ajianaz <ajianaz@users.noreply.github.com>
@ajianaz
ajianaz merged commit 375f596 into develop Oct 27, 2026
13 checks passed
ajianaz added a commit that referenced this pull request Oct 27, 2026
## What

A workflow that runs when it changes and checks, without printing any
token:

1. GitHub OIDC token for audience `https://api.anthropic.com`;
2. exchange for a short-lived Anthropic access token (`/v1/oauth/token`,
federation);
3. one tiny call to `/v1/chat/completions` with `Authorization: Bearer
<token>`, exactly how cora sends its key.

The four identifiers come from repository variables
(`ANTHROPIC_FEDERATION_RULE_ID`, `ANTHROPIC_ORGANIZATION_ID`,
`ANTHROPIC_SERVICE_ACCOUNT_ID`, `ANTHROPIC_WORKSPACE_ID`) because this
repository is public.

## Why

Before moving the Cora Review job from a stored API key to workload
identity federation, we need to know the exchanged token is accepted on
the endpoint cora uses.

## Testing

- The job runs on this PR (it needs the repository variables to be set
first, otherwise it fails with a message naming the missing one).

---------

Signed-off-by: ajianaz <ajianaz@users.noreply.github.com>
Co-authored-by: ajianaz <ajianaz@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant