What was going on
Workflows triggered by Dependabot pull requests fail because the default GITHUB_TOKEN is read-only and secrets are not passed to runs triggered from forks. This breaks CI steps that need to push, publish, or call external services. The Dependabot team documented this behavior: Dependabot PRs from forks run with limited permissions on purpose, and the same restriction applies to Actions triggered by those PRs.
What fixed it
This is intended GitHub behavior, documented in the official guide "Automating Dependabot with GitHub Actions". Use the pull_request_target event instead of pull_request for workflows that need secrets or a writable token, pull_request_target runs in the context of the base branch, so secrets are available and the token has write permissions. Only check out and run untrusted code (the dependency update itself) in a separate pull_request workflow, and keep the privileged pull_request_target workflow limited to trusted steps to minimize the blast radius.