}

					githubClient.ListReleaseAssetsReturns([]github.ReleaseAsset{
						{
							ID:   github.Int(456789),
							Name: github.String("great-file.tgz"),
						},
						{
							ID:   github.Int(3450798),
							Name: github.String("whatever.tgz"),
						},
					}, nil)

					githubClient.UploadReleaseAssetStub = func(github.RepositoryRelease, string, *os.File) error {
						Expect(existingAsset).To(BeFalse())
						existingAsset = true
						return errors.New("some-error")
					}
				})

				It("retries 10 times", func() {
					_, err := command.Run(sourcesDir, request)
					Expect(err).To(Equal(errors.New("some-error")))

					Ω(githubClient.UploadReleaseAssetCallCount()).Should(Equal(10))
					Ω(githubClient.ListReleaseAssetsCallCount()).Should(Equal(9))
					Ω(*githubClient.ListReleaseAssetsArgsForCall(8).ID).Should(Equal(112))

					actualRelease, actualName, actualFile := githubClient.UploadReleaseAssetArgsForCall(9)
					Ω(*actualRelease.ID).Should(Equal(112))
					Ω(actualName).Should(Equal("great-file.tgz"))