From a558608a87ffae5353cff3d4a7ccc71c6cc32dd2 Mon Sep 17 00:00:00 2001 From: Antoine van der Lee <4329185+AvdLee@users.noreply.github.com> Date: Thu, 20 Oct 2022 11:44:27 +0200 Subject: [PATCH 1/3] Improve error logs for GitBuddy GitHub API failures --- Package.resolved | 4 +-- .../GitBuddyCore/GitHub/IssuesFetcher.swift | 2 +- .../GitHub/PullRequestFetcher.swift | 2 +- .../GitBuddyCore/Helpers/OctoKitError.swift | 28 +++++++++++++++++++ .../Release/ReleaseProducer.swift | 2 +- 5 files changed, 33 insertions(+), 5 deletions(-) create mode 100644 Sources/GitBuddyCore/Helpers/OctoKitError.swift diff --git a/Package.resolved b/Package.resolved index eb0fd47..901fa35 100644 --- a/Package.resolved +++ b/Package.resolved @@ -24,8 +24,8 @@ "repositoryURL": "https://github.com/nerdishbynature/RequestKit.git", "state": { "branch": null, - "revision": "e266fd8ac7d71caf4422ffc56ad98ff368329fde", - "version": "3.1.0" + "revision": "8b0258ea2a4345cbcac90509b764faacea12efb0", + "version": "3.2.1" } }, { diff --git a/Sources/GitBuddyCore/GitHub/IssuesFetcher.swift b/Sources/GitBuddyCore/GitHub/IssuesFetcher.swift index e09fb9b..a53319e 100644 --- a/Sources/GitBuddyCore/GitHub/IssuesFetcher.swift +++ b/Sources/GitBuddyCore/GitHub/IssuesFetcher.swift @@ -24,7 +24,7 @@ struct IssuesFetcher { case .success(let issues): result = .success(issues) case .failure(let error): - result = .failure(error) + result = .failure(OctoKitError(error: error)) } group.leave() } diff --git a/Sources/GitBuddyCore/GitHub/PullRequestFetcher.swift b/Sources/GitBuddyCore/GitHub/PullRequestFetcher.swift index 2b017ba..dedb27a 100644 --- a/Sources/GitBuddyCore/GitHub/PullRequestFetcher.swift +++ b/Sources/GitBuddyCore/GitHub/PullRequestFetcher.swift @@ -35,7 +35,7 @@ struct PullRequestFetcher { case .success(let pullRequests): result = .success(pullRequests) case .failure(let error): - result = .failure(error) + result = .failure(OctoKitError(error: error)) } group.leave() } diff --git a/Sources/GitBuddyCore/Helpers/OctoKitError.swift b/Sources/GitBuddyCore/Helpers/OctoKitError.swift new file mode 100644 index 0000000..9d08df5 --- /dev/null +++ b/Sources/GitBuddyCore/Helpers/OctoKitError.swift @@ -0,0 +1,28 @@ +// +// Created by Antoine van der Lee on 20/10/2022. +// Copyright © 2022 WeTransfer. All rights reserved. +// + +import Foundation + +/// Ensures rich details become available when GitBuddy fails due to a failing GitHub API request. +struct OctoKitError: LocalizedError { + + let statusCode: Int + let underlyingError: Error + let errorDetails: String + + var errorDescription: String? { + """ + GitHub API Request failed (StatusCode: \(statusCode)): \(errorDetails) + Underlying error: + \(underlyingError) + """ + } + + init(error: Error) { + underlyingError = error + statusCode = error._code + errorDetails = (error as NSError).userInfo.debugDescription + } +} diff --git a/Sources/GitBuddyCore/Release/ReleaseProducer.swift b/Sources/GitBuddyCore/Release/ReleaseProducer.swift index e735060..ea1c166 100644 --- a/Sources/GitBuddyCore/Release/ReleaseProducer.swift +++ b/Sources/GitBuddyCore/Release/ReleaseProducer.swift @@ -207,7 +207,7 @@ final class ReleaseProducer: URLSessionInjectable, ShellInjectable { case .success(let release): result = .success(release.htmlURL) case .failure(let error): - result = .failure(error) + result = .failure(OctoKitError(error: error)) } group.leave() } From 829cb8412d9f35fd5e470816787b2985fe4ed27e Mon Sep 17 00:00:00 2001 From: Antoine van der Lee <4329185+AvdLee@users.noreply.github.com> Date: Thu, 20 Oct 2022 11:49:47 +0200 Subject: [PATCH 2/3] Update CI --- Submodules/WeTransfer-iOS-CI | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Submodules/WeTransfer-iOS-CI b/Submodules/WeTransfer-iOS-CI index 86c9e6e..d7e2444 160000 --- a/Submodules/WeTransfer-iOS-CI +++ b/Submodules/WeTransfer-iOS-CI @@ -1 +1 @@ -Subproject commit 86c9e6e0d723288ead32a0af9eb0367f5388f3b1 +Subproject commit d7e2444b24f8ebf1d76733e8f863e3c1dde73973 From 54cd65b022a6139dec6decb064a8dc7a9a652cc6 Mon Sep 17 00:00:00 2001 From: Antoine van der Lee <4329185+AvdLee@users.noreply.github.com> Date: Thu, 20 Oct 2022 12:59:27 +0200 Subject: [PATCH 3/3] FIx CI --- fastlane/Fastfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 182ce43..e77c272 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -1,8 +1,8 @@ # Fastlane requirements fastlane_version "1.109.0" -import "./../Submodules/WeTransfer-iOS-CI/Fastlane/Fastfile" -import "./../Submodules/wetransfer-iOS-CI/Fastlane/shared_lanes.rb" +import "./../Submodules/WeTransfer-iOS-CI/Fastlane/testing_lanes.rb" +import "./../Submodules/WeTransfer-iOS-CI/Fastlane/shared_lanes.rb" desc "Run the tests and prepare for Danger" lane :test do |options|