Move CI GitHub token usage to the global git configuration
This commit is contained in:
committed by
Stefan Ceriu
parent
f86c47baf1
commit
8fb3f2196a
@@ -128,8 +128,13 @@ struct CI: ParsableCommand {
|
||||
// MARK: - Git
|
||||
|
||||
static func gitConfigureGlobals() async throws {
|
||||
guard let apiToken = ProcessInfo.processInfo.environment["GITHUB_TOKEN"], !apiToken.isEmpty else {
|
||||
throw ValidationError("GITHUB_TOKEN environment variable is not set.")
|
||||
}
|
||||
|
||||
try await CI.run(.name("git"), ["config", "--global", "user.name", "Element CI"])
|
||||
try await CI.run(.name("git"), ["config", "--global", "user.email", "ci@element.io"])
|
||||
try await CI.run(.name("git"), ["config", "--global", "http.extraHeader", "Authorization: Bearer \(apiToken)"])
|
||||
}
|
||||
|
||||
static func gitRepositoryURL() async throws -> String {
|
||||
@@ -145,20 +150,15 @@ struct CI: ParsableCommand {
|
||||
.replacingOccurrences(of: ".git", with: "")
|
||||
.trimmingCharacters(in: .whitespacesAndNewlines)
|
||||
}
|
||||
|
||||
static func gitPush(tagName: String? = nil) async throws {
|
||||
guard let apiToken = ProcessInfo.processInfo.environment["GITHUB_TOKEN"], !apiToken.isEmpty
|
||||
else {
|
||||
throw ValidationError("GITHUB_TOKEN environment variable is not set.")
|
||||
}
|
||||
|
||||
static func gitPush(tagName: String? = nil) async throws {
|
||||
let repoURL = try await CI.gitRepositoryURL()
|
||||
|
||||
if let tagName {
|
||||
try await CI.run(.name("git"), ["tag", tagName])
|
||||
try await CI.run(.name("git"), ["push", "https://\(apiToken)@\(repoURL)", tagName])
|
||||
try await CI.run(.name("git"), ["push", "https://\(repoURL)", tagName])
|
||||
} else {
|
||||
try await CI.run(.name("git"), ["push", "https://\(apiToken)@\(repoURL)"])
|
||||
try await CI.run(.name("git"), ["push", "https://\(repoURL)"])
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user