-
Type:
Epic
-
Resolution: Unresolved
-
Priority:
Unknown
-
None
-
Affects Version/s: None
-
Component/s: Build
-
None
-
Release automation
-
Go Drivers
-
None
-
-
To Do
-
None
-
0
-
0
-
0
-
100
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Summary
Make the Go Driver release automation more reliable, easier to use, and easier to debug.
Currently the Go Driver release automation uses a series of Github Actions to perform the Go release. In the past year, some of those of those Github Actions have failed after the Git tag was created. When that happens, the release is publicly consumable by Go users but none of the other artifacts are created (e.g. the Github draft release, the SBOM files, the community forum template, etc). In that case, Go Driver devs need to either create a new release with a new version, or manually create all of the missing artifacts. Instead, we should make at least the tagging action idempotent, so that a failed release can be re-run, even if the tag is already created.
Additionally, there are quality-of-life improvements we should investigate:
- Investigate using release-please to completely automate release note creation
- Copy Andreas's automatic-merge-up-action into drivers-github-tools so we're not relying on a 3rd-party Github Action for release.
- Consider using a temp tag or branch during release to make sure everything is ready before the official tag is created and pushed.
- Add helpful logging to the Github Actions we use to release the Go Driver so when things do fail, it's easier to identify the root cause.
Motivation
Who is the affected end user?
Go Driver devs directly, Go Driver users indirectly.
How does this affect the end user?
Go Driver devs lose productivy because they have to investigate Github Action failures, most of which can't be resolved by just re-running the job. Many failures require inefficient debugging because there isn't enough information logged by the Github Actions to quickly identify the root cause of the failure.
Go Driver users don't get timely releases because Go Driver devs are stuck investigating and cleaning up after failures.
How likely is it that this problem or use case will occur?
Release failuers have happened 3-4 times in the last 6 months.
If the problem does occur, what are the consequences and how severe are they?
Lost development time, both for Go Driver devs and users.
Is this issue urgent?
No.
Is this ticket required by a downstream team?
No.
Is this ticket only for tests?
No.
Cast of Characters
Engineering Lead:
Document Author:
POCers:
Product Owner:
Program Manager:
Stakeholders:
Channels & Docs
Slack Channel
[Scope Document|some.url]
[Technical Design Document|some.url]
- related to
-
GODRIVER-3857 Investigate release automation failure and release 2.5.1
-
- Closed
-