Skip to content

Commit

Permalink
Merge pull request #93 from WeTransfer/feature/improved-error-logging
Browse files Browse the repository at this point in the history
Improve error logs for GitBuddy GitHub API failures
  • Loading branch information
AvdLee committed Oct 24, 2022
2 parents 340d9d7 + 54cd65b commit 9686183
Show file tree
Hide file tree
Showing 7 changed files with 36 additions and 8 deletions.
4 changes: 2 additions & 2 deletions Package.resolved
Original file line number Diff line number Diff line change
Expand Up @@ -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"
}
},
{
Expand Down
2 changes: 1 addition & 1 deletion Sources/GitBuddyCore/GitHub/IssuesFetcher.swift
Original file line number Diff line number Diff line change
Expand Up @@ -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()
}
Expand Down
2 changes: 1 addition & 1 deletion Sources/GitBuddyCore/GitHub/PullRequestFetcher.swift
Original file line number Diff line number Diff line change
Expand Up @@ -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()
}
Expand Down
28 changes: 28 additions & 0 deletions Sources/GitBuddyCore/Helpers/OctoKitError.swift
Original file line number Diff line number Diff line change
@@ -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
}
}
2 changes: 1 addition & 1 deletion Sources/GitBuddyCore/Release/ReleaseProducer.swift
Original file line number Diff line number Diff line change
Expand Up @@ -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()
}
Expand Down
4 changes: 2 additions & 2 deletions fastlane/Fastfile
Original file line number Diff line number Diff line change
@@ -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|
Expand Down

0 comments on commit 9686183

Please sign in to comment.