Update to use dd-sts instead of long-lived credentials#8809
Conversation
This comment has been minimized.
This comment has been minimized.
BenchmarksBenchmark execution time: 2026-06-26 09:36:03 Comparing candidate commit cd48aed in PR branch Found 0 performance improvements and 0 performance regressions! Performance is the same for 72 metrics, 0 unstable metrics, 60 known flaky benchmarks, 66 flaky benchmarks without significant changes.
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7743e173cb
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
7743e17 to
cd48aed
Compare
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: cd48aed2f6
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| # domains/seceng/sit/apps/apis/dd-sts/config/policies/us1.ddbuild.io/dd-trace-dotnet-api-key-*.yaml | ||
| - name: Get Datadog credentials (preprod) | ||
| id: dd-sts-preprod | ||
| uses: DataDog/dd-sts-action@7d2d231c02fd54a3da912e582ff87cb995d1fd30 # v1.0.4 |
There was a problem hiding this comment.
Grant OIDC permission to legacy release workflow
When the legacy workflow_dispatch path in .github/workflows/create_draft_release.yml is used, it still calls this composite action but its job permissions are only contents, actions, and issues (lines 24-27), so the newly added dd-sts-action cannot request a GitHub OIDC token. That path will fail in the first credentials step after the release/NuGet steps have already run, leaving symbols unpublished; either add id-token: write to that workflow too or remove/update the legacy caller.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
This is fine, we're going to retire that workflow soon
Summary of changes
Updates the "publish debug symbols" steps to use dd-sts instead of API keys
Reason for change
Short-lived tokens are good
Implementation details
Followed the guide here and followed the 🤖 guidance
Test coverage
This is the kicker... testing this won't be easy. We should be able to test using the standalone
publish-debug-symbols, at least to see if we get auth issues, but we won't know for sure if this will break the release. On the plus side, this is not time critical for the release - if there's a problem, and it's broken, we can fix it post-hocOther details
Currently we're using an environment for this, because that was required to create the long-lived creds. As we don't have those anymore, we can remove the environment, but note that this may break any policies that were relying on it. The policies in dd-source work with both scenarios, but we must also update
.github/chainguard/self.github.create-draft-release.sts.yaml, which is pinned to theenvironment: subjectform, or else theGet GitHub Token via dd-octo-stsstep will fail. We need to change its subject: to the ref form, i.e.Before merging this, make sure https://github.com/DataDog/dd-source/pull/474189 is merged and deployed