From 8fb3f2196a61192ea21a2a9cd7956acb6e834113 Mon Sep 17 00:00:00 2001 From: Stefan Ceriu Date: Thu, 12 Mar 2026 08:37:07 +0200 Subject: [PATCH] Move CI GitHub token usage to the global git configuration --- Tools/Sources/Commands/CI/CI.swift | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Tools/Sources/Commands/CI/CI.swift b/Tools/Sources/Commands/CI/CI.swift index ff5a0b048..952921004 100644 --- a/Tools/Sources/Commands/CI/CI.swift +++ b/Tools/Sources/Commands/CI/CI.swift @@ -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)"]) } } }