opentelemetry-dotnet icon indicating copy to clipboard operation
opentelemetry-dotnet copied to clipboard

[infra/bug] Release process does not trigger update on contrib

Open Kielek opened this issue 3 months ago • 6 comments

Release process is not able to trigger automation on contrib repository.

Run Import-Module .\build\scripts\post-release.psm1
  Import-Module .\build\scripts\post-release.psm1
  
  InvokeCoreVersionUpdateWorkflowInRemoteRepository `
    -remoteGitRepository ${env:CONTRIB_REPO} `
    -tag ${env:TAG}
  shell: /usr/bin/pwsh -command ". '{0}'"
  env:
    DOTNET_ROOT: /usr/share/dotnet
    GH_TOKEN: ***
    CONTRIB_REPO: open-telemetry/opentelemetry-dotnet-contrib
    TAG: coreunstable-1.13.0-beta.1
could not create workflow dispatch event: HTTP 403: Resource not accessible by integration (https://api.github.com/repos/open-telemetry/opentelemetry-dotnet-contrib/actions/workflows/99095246/dispatches)

Ref: https://github.com/open-telemetry/opentelemetry-dotnet/actions/runs/18158871797/job/51684993262

I suppose that it is related to the fact that we have 2 separate application/set of privileges in that repositories.

Kielek avatar Oct 01 '25 10:10 Kielek

@trask, could you please advice here?

Kielek avatar Oct 01 '25 10:10 Kielek

Yeah, the account used would need contents: write (I think) permissions to the other repository to manually trigger a workflow.

It could be made slightly less brittle (e.g. not needing to know the workflow and its inputs) by instead using a repository_dispatch event to send a custom event and payload (e.g. "hey, I just released vx.y.z") and the other repo would then trigger whatever it wanted to based on that. That would still need contents: write access though. I do this with my own libraries to trigger workflows in other repos (example).

martincostello avatar Oct 01 '25 10:10 martincostello

For Java repos (and a couple other examples in OTel I've seen), we have a scheduled workflow in the downstream repo that watches for releases in the upstream repo, e.g. https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/.github/workflows/auto-update-otel-sdk.yml

Let me know if that would work, or if you prefer the current setup I think we could give your bot permission to the other repo.

trask avatar Oct 18 '25 03:10 trask

Hello all ,

I'm Prachi, exploring OpenTelemetry infrastructure and CI workflows. I'd love to help investigate and fix this release automation issue. I’ll start by reviewing the release workflow in the core repo and how it integrates with the contrib repo. If it’s okay, I’d like to propose a fix—possibly via a repository_dispatch or a PR automation to update contrib dependencies.

Would appreciate any guidance or context before I begin.

Thanks!

prachi-kCoder avatar Nov 12 '25 18:11 prachi-kCoder

@trask, @prachi-kCoder, I think that w can take a look with dispatching. If it will be non-working I would go with option to give bot permissions also in contrib.

@prachi-kCoder, our release process is well described under RELEASING.md. There is even information what to trigger manually, if any failures occur.

Kielek avatar Nov 13 '25 11:11 Kielek

Thanks, @Kielek! I’ll start by reviewing the RELEASING.md and the current release workflow to understand how the dispatching mechanism is expected to work. If it’s okay, I’d love to take this issue forward and explore a fix — starting with a repository_dispatch implementation and fallback to bot permissions if needed. Let me know if you'd prefer to assign the issue formally before I begin, or if I can go ahead and start investigating. Appreciate the guidance!

prachi-kCoder avatar Nov 13 '25 12:11 prachi-kCoder