Move CI GitHub token usage to the global git configuration

This commit is contained in:
Stefan Ceriu
2026-03-12 08:37:07 +02:00
committed by Stefan Ceriu
parent f86c47baf1
commit 8fb3f2196a

View File

@@ -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 {
@@ -147,18 +152,13 @@ struct CI: ParsableCommand {
}
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.")
}
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)"])
}
}
}