-
Notifications
You must be signed in to change notification settings - Fork 286
Description
Affected Repository
- https://github.com/open-telemetry/opentelemetry-dotnet
- https://github.com/open-telemetry/opentelemetry-dotnet-contrib
Requested changes
I have three things I need done. See Purpose section for details.
- I have a GitHub App named "OpenTelemetry .NET Automation". I want to transfer this to the open-telemetry organization. Someone with admin will need to approve this.
- Once transferred to open-telemetry org I need an admin to give @open-telemetry/dotnet-maintainers access to manage that app. This way all currently/future maintainers will have access.
- I need this app installed into opentelemetry-dotnet & opentelemetry-dotnet-contrib. Admin may need to do that or the manage access might be enough for maintainers to do this.
Purpose
I am working on automating the release process and a bunch of maintenance tasks for dotnet. There are a lot of steps. We open PRs. Create Releases. Push tags. Invoke workflows in contrib repo.
The challenge is when these things are done via GitHub actions they don't trigger other workflows. There are a few recommendations published by GitHub to solve this: https://github.com/peter-evans/create-pull-request/blob/main/docs/concepts-guidelines.md#workarounds-to-trigger-further-workflow-runs
The one I am attempting to implement with this app is: https://github.com/peter-evans/create-pull-request/blob/main/docs/concepts-guidelines.md#authenticating-with-github-app-generated-tokens
I don't like the Personal Access Token (PAT) approach because everything will look like it is being done by a person (probably me) and the tokens expire. SSH key only works for pushes. Machine account won't work for kicking off workflows in contrib.
The release process is like this (noted where tokens will help)...
- Workflow is manually invoked to kick things off. A tag\version is chosen.
- Workflow opens a PR to update CHANGELOGs and public api files. A token is needed here so this PR triggers a CI workflow.
- A maintainer has to merge this PR.
- Once the release PR is merged another workflow creates a tag. A token is needed here to trigger workflows which spawn on tag push.
- A release workflow triggers on the tag push and creates a github release. A token is needed here to trigger workflows which spawn on release publish.
- A release workflow triggers on the release publish. It performs these actions...
- A cleanup PR is opened to update some metadata for the latest version. A token is needed here to trigger CI workflow on that PR.
- We call a workflow in contrib to notify it of the new release. That workflow kicks off a similar process in contrib. A token is needed here to call into contrib.
Expected Duration
Permanent
Repository Maintainers
@open-telemetry/dotnet-maintainers
Metadata
Metadata
Assignees
Labels
Type
Projects
Status