googleapis / googleapis/gapic-showcase
incomplete releases remain public when needed post-release-creation actions fail
- Dominant language
- Go
- Stars
- 183
- Forks
- 55
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 8
Description
It seems like the [assets action](https://github.com/googleapis/gapic-showcase/blob/main/.github/workflows/assets.yaml) runs after the release is created, and modifies it. This causes a problem when the action fails, because the release is then not modified as intended and we get no notification. I'm assuming we can configure things to be notified upon failure, but **we should prevent the publication of incomplete releases**: ideally we wouldn't create a release at all if any of the necessary actions fail, but we could also somehow revoke the release if any needed post-release-creation actions fail.
Motivating case: [This run failed](https://github.com/googleapis/gapic-showcase/actions/runs/14502437202/job/40685012610) in the job "proto assets" at step "Upload proto release assets". (The error was `Error: Resource not accessible by integration`). As a result, the release had only the compressed Showcase source archives, but not the binary artifacts that would be added by later jobs (such as "binary-assets") in the action. (This particular failure instance was fixed by triggering the action with the code changes in #1589, but we don't want future action failures to result in incomplete releases.)
**EDIT**: Fixed a semantically significant typo!
Contributor guide
Research direction
Start with .github/workflows/assets.yaml and inspect the release workflow around the "proto assets" and "binary-assets" jobs, using the linked failed run as the failure case. Determine how release creation and later asset actions are ordered; done means an action failure cannot leave a publicly visible release missing required assets.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions
- Domain
- ci-cd, release
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100