Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Failure to upload to GCS does not prevent a bad GitHub Release #2374

Closed
Harwayne opened this issue Aug 19, 2020 · 5 comments
Closed

Failure to upload to GCS does not prevent a bad GitHub Release #2374

Harwayne opened this issue Aug 19, 2020 · 5 comments
Labels
lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness.

Comments

@Harwayne
Copy link
Contributor

Harwayne commented Aug 19, 2020

This was found while investigating knative/eventing#3873.


Expected behavior: If (during a release) any asset uploads fail, then the entire release immediately fails.


When a release is being created, assets are uploaded GCS. But nothing seems to check if that upload succeeded. It just blindly assumes that it did. https://github.com/knative/test-infra/blob/master/scripts/release.sh#L65-L70

This caused a bad release, https://github.com/knative/eventing/releases/tag/v0.17.0, because it was missing the final two assets that should have been uploaded.

Logs from the prow job:

Publishing [eventing-core.yaml eventing-crds.yaml eventing-sugar-controller.yaml mt-channel-broker.yaml in-memory-channel.yaml eventing-pre-install-jobs.yaml eventing-post-install-jobs.yaml eventing-post-install-jobs.yaml eventing.yaml] to gs://knative-releases/eventing/latest/
Copying file://eventing-crds.yaml [Content-Type=application/octet-stream]...
Copying file://eventing-core.yaml [Content-Type=application/octet-stream]...
Copying file://eventing-sugar-controller.yaml [Content-Type=application/octet-stream]...
Copying file://mt-channel-broker.yaml [Content-Type=application/octet-stream]...
Copying file://in-memory-channel.yaml [Content-Type=application/octet-stream]...
Copying file://eventing-pre-install-jobs.yaml [Content-Type=application/octet-stream]...
Copying file://eventing-post-install-jobs.yaml [Content-Type=application/octet-stream]...
Copying file://eventing-post-install-jobs.yaml [Content-Type=application/octet-stream]...
Copying file://eventing.yaml [Content-Type=application/octet-stream]...
/ [0/9 files][    0.0 B/471.2 KiB]   0% Done                                    ^M/ [0/9 files][    0.0 B/471.2 KiB]   0% Done                                    ^M/ [0/9 files][    0.0 B/471.2 KiB]   0% Done                                    ^M/ [0/9 files][    0.0 B/471.2 KiB]   0% Done                                    ^M/ [0/9 files][    0.0 B/471.2 KiB]   0% Done                                    ^M/ [1/9 files][280.2 KiB/471.2 KiB]  59% Done                                    ^M/ [2/9 files][280.2 KiB/471.2 KiB]  59% Done                                    ^M/ [3/9 files][280.2 KiB/471.2 KiB]  59% Done                                    ^M/ [3/9 files][280.2 KiB/471.2 KiB]  59% Done                                    ^M/ [4/9 files][280.2 KiB/471.2 KiB]  59% Done                                    ^M/ [4/9 files][280.2 KiB/471.2 KiB]  59% Done                                    ^M/ [5/9 files][280.2 KiB/471.2 KiB]  59% Done                                    ^M/ [5/9 files][280.2 KiB/471.2 KiB]  59% Done                                    ^M/ [5/9 files][280.2 KiB/471.2 KiB]  59% Done                                    ^M/ [6/9 files][470.3 KiB/471.2 KiB]  99% Done                                    ^M/ [7/9 files][470.3 KiB/471.2 KiB]  99% Done                                    ^M/ [8/9 files][470.3 KiB/471.2 KiB]  99% Done                                    ^MException in UIThread: 'file://eventing-post-install-jobs.yaml'
Publishing [eventing-core.yaml eventing-crds.yaml eventing-sugar-controller.yaml mt-channel-broker.yaml in-memory-channel.yaml eventing-pre-install-jobs.yaml eventing-post-install-jobs.yaml eventing-post-install-jobs.yaml eventing.yaml] to gs://knative-releases/eventing/previous/v0.17.0/
Copying file://eventing-core.yaml [Content-Type=application/octet-stream]...
Copying file://eventing-crds.yaml [Content-Type=application/octet-stream]...
Copying file://eventing-sugar-controller.yaml [Content-Type=application/octet-stream]...
Copying file://mt-channel-broker.yaml [Content-Type=application/octet-stream]...
Copying file://in-memory-channel.yaml [Content-Type=application/octet-stream]...
Copying file://eventing-pre-install-jobs.yaml [Content-Type=application/octet-stream]...
Copying file://eventing-post-install-jobs.yaml [Content-Type=application/octet-stream]...
Copying file://eventing-post-install-jobs.yaml [Content-Type=application/octet-stream]...
Copying file://eventing.yaml [Content-Type=application/octet-stream]...
/ [0/9 files][    0.0 B/471.2 KiB]   0% Done                                    ^M/ [0/9 files][    0.0 B/471.2 KiB]   0% Done                                    ^M/ [0/9 files][    0.0 B/471.2 KiB]   0% Done                                    ^M/ [0/9 files][148.0 KiB/471.2 KiB]  31% Done                                    ^M/ [0/9 files][247.1 KiB/471.2 KiB]  52% Done                                    ^M/ [1/9 files][280.2 KiB/471.2 KiB]  59% Done                                    ^M/ [2/9 files][280.2 KiB/471.2 KiB]  59% Done                                    ^M/ [3/9 files][280.2 KiB/471.2 KiB]  59% Done                                    ^M/ [4/9 files][280.2 KiB/471.2 KiB]  59% Done                                    ^M/ [4/9 files][280.2 KiB/471.2 KiB]  59% Done                                    ^M/ [4/9 files][280.2 KiB/471.2 KiB]  59% Done                                    ^M/ [5/9 files][280.2 KiB/471.2 KiB]  59% Done                                    ^M/ [5/9 files][280.2 KiB/471.2 KiB]  59% Done                                    ^M/ [5/9 files][280.2 KiB/471.2 KiB]  59% Done                                    ^M/ [6/9 files][470.3 KiB/471.2 KiB]  99% Done                                    ^M/ [7/9 files][470.3 KiB/471.2 KiB]  99% Done                                    ^M/ [8/9 files][470.3 KiB/471.2 KiB]  99% Done                                    ^MException in UIThread: 'file://eventing-post-install-jobs.yaml'
To https://github.com/knative/eventing
 * [new tag]           v0.17.0 -> v0.17.0
Attaching 9 assets...
The release was created, but attaching 2 assets failed. You can retry with:
hub release edit v0.17.0 -m '' -a eventing-post-install-jobs.yaml -a eventing.yaml

Error uploading release asset: Unprocessable Entity (HTTP 422)
Duplicate value for "name"
Error publishing the release, retrying in 15s...
Error creating release: Unprocessable Entity (HTTP 422)
Duplicate value for "tag_name"
Error publishing the release, retrying in 15s...
Error creating release: Unprocessable Entity (HTTP 422)
Duplicate value for "tag_name"
@chizhg
Copy link
Member

chizhg commented Sep 3, 2020

#1782 is an umbrella issue for Knative release process, which also mentioned this issue.

@github-actions
Copy link

github-actions bot commented Dec 2, 2020

This issue is stale because it has been open for 90 days with no
activity. It will automatically close after 30 more days of
inactivity. Reopen the issue with /reopen.Mark the issue as
fresh by adding the comment /remove-lifecycle stale.

@github-actions github-actions bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Dec 2, 2020
@chizhg
Copy link
Member

chizhg commented Dec 2, 2020

/lifecycle frozen

@knative-prow-robot knative-prow-robot added lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Dec 2, 2020
@chizhg
Copy link
Member

chizhg commented Mar 9, 2022

/close

@knative-prow-robot
Copy link
Collaborator

@chizhg: Closing this issue.

In response to this:

/close

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness.
Projects
None yet
Development

No branches or pull requests

3 participants